cvp

CakeCTF 2021 | Matirx Cipher

#cakectf2021 with open("flag.txt", "rb") as f: flag = list(f.read().strip()) def hadamard(M): d = M.determinant() x = 1.0 for row in M: x *= row.norm() return (d / x) ** (1.0/M.ncols()) def keygen(n, d): k = int(floor(sqrt(n) * d)) while T…

Inequality_Solving_with_CVP

https://github.com/rkm0959/Inequality_Solving_with_CVP/ 変数を一つ減らすテク となるときに の次数が1でその具体的な値に興味がなければ、全体を の係数 で割って、 という不等式にすれば一変数減る これを 大きさのわかっている未知変数を直接求めない…

LWE

と 秘密の エラー があって、 判定LWE(Desicional LWE) とを受け取って、か かを判定する問題 探索LWE(Search LWE) とを受け取って、を復元する問題 を取る場合もあって、その場合はRing LWEと呼ばれる 判定RLWEをSISを解いて解決する 複数のインスタンスが…

angstrom CTF 2021 | Circle of Trust

#angstromctf2021 import random import secrets from decimal import Decimal, getcontext from Crypto.Cipher import AES BOUND = 2 ** 128 MULT = 10 ** 10 getcontext().prec = 50 def nums(a): b = Decimal(random.randint(-a * MULT, a * MULT)) / MUL…