ecdsa

SECCON 2021 | Sign Wars

#seccon2021 #xornet from Crypto.Util.number import bytes_to_long, long_to_bytes from Crypto.Util.Padding import pad import random from secret import msg1, msg2, flag flag = pad(flag, 96) flag1 = flag[:48] flag2 = flag[48:] # P-384 Curve p =…

CyberSecurityRumble | EZDSA

import socketserver import random import ecdsa key = open("secp256k1-key.pem").read() sk = ecdsa.SigningKey.from_pem(key) def sony_rand(n): return random.getrandbits(8*n).to_bytes(n, "big") def sign(data): if data == b"admin": raise ValueE…

Crypto CTF 2021 | Tiny ECC

#cryptoctf2021 # Elliptic curve basics, tools for finding rational points, and ECDSA implementation. # Brendan Cordy, 2015 from fractions import Fraction from math import ceil, sqrt from random import SystemRandom, randrange from hashlib i…

EdDSA

(twisted) Edwards Curve DSA PoC from hashlib import sha256 from random import randrange from Crypto.Util.number import bytes_to_long, long_to_bytes, inverse p = 208053691657152142396309207664840706929 a = 106 d = 1 q = 20805369165715214236…

楕円曲線による署名

#ECDSA 楕円曲線を用いた署名schema ある楕円曲線 と、適当な元を事前に決めておく。ここで 署名者 を適当に選び、として公開おく とする。ただしとなるようにLSBを捨てる を適当に選び、を計算する としてが署名 検証者 同じ様にをとってきて、を計算する。…

corCTF 2021 | lcg_k

#corctf2021 from Crypto.Util.number import bytes_to_long, inverse from hashlib import sha256 from secrets import randbelow from private import flag from fastecdsa.curve import P256 G = P256.G N = P256.q class RNG: def __init__(self, seed, …

Google CTF 2021 | H1

#googlectf2021 #!/usr/bin/python3 import os import hashlib from cryptography.hazmat.backends import default_backend from cryptography.hazmat.primitives import padding from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, m…

(EC)DSA で nonceが小さい時

#ECDSA / #DSA LLL の が小さくて(がsha1で決まるなど)、かつ複数のインスタンスを集められるときはHidden Number Problemになる なので、Hidden Number Problemの式と対応付けると次のようになる from hashlib import sha1 # secp256k1 p = 0xfffffffffff…

CrewCTF 2022 | signsystem

#CrewCTF_2022 import sys import random from hashlib import sha256 from Crypto.Util.number import inverse import ecdsa from secret import FLAG curve = ecdsa.curves.SECP112r1 p = int(curve.curve.p()) G = curve.generator n = int(curve.order) …

pwn2win 2021 | t00 rare

#pwn2win2021 import hashlib import hmac import os flag = open("flag.txt", "rb").read() p = 0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF a = 0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC b = 0x5AC6…

TSGCTF 2021 | Baba is Flag

#hakatashi #TSGCTF_2021 require 'openssl' require 'digest' STDOUT.sync = true class OpenSSL::PKey::EC::Point def xy n = to_bn(:uncompressed).to_i mask = (1 << group.degree) - 1 return (n >> group.degree) & mask, n & mask end alias_method :…

Crypto CTF 2021 | trunc

#cryptoctf2021 #!/usr/bin/env python3 from Crypto.Util.number import * from hashlib import sha256 import ecdsa from flag import FLAG E = ecdsa.SECP256k1 G, n = E.generator, E.order cryptonym = b'Persian Gulf' def keygen(n, G): privkey = ge…

SecurinetsQuals2K21 | Sign It!

#securinetsquals2k21 from Crypto.Util.number import inverse from Crypto.Random import random from fastecdsa.curve import Curve from fastecdsa.point import Point import hashlib import signal class Server(): def __init__(self, curve, G): sel…

pbctf2020 | LeaK

ECDSA pbctf2020 #!/usr/bin/env python3 from Crypto.Cipher import AES from Crypto.Util.Padding import pad, unpad from ecdsa import SECP256k1 from ecdsa.ecdsa import Public_key, Private_key from flag import flag import hashlib import random …

TSGCTF 2021 | Flag is Win

#TSGCTF_2021 #hakatashi require 'openssl' require 'digest' STDOUT.sync = true class OpenSSL::PKey::EC::Point def xy n = to_bn(:uncompressed).to_i mask = (1 << group.degree) - 1 return (n >> group.degree) & mask, n & mask end alias_method :…

Google CTF 2021 | tonality

#googlectf2021 // Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://w…

InCTF 2020 | Bakflip & Sons

#inctf2020 #ECDSA #!/usr/bin/env python3 import random, sys from binascii import hexlify, unhexlify from ecdsa import SigningKey, NIST192p from flag import flag secret_multiplier = random.getrandbits(101) def menu(): menu = [exit, signMess…