Reverse Engineering Mersenne Twister with Linear Algebra

Mersenne Twister (MT)은 좋은 통계적 특성을 가진 PRNG이지만 암호학적으로는 안전하지 않다. 이 글은 MT의 내부 상태를 출력값으로부터 선형대수를 이용해 복원하는 방법을 설명한다. MT의 tempering 과정은 GF(2) 위의 선형 연산으로 표현 가능하며, 이 과정을 행렬 곱셈으로 모델링하고 역행렬을 구해 tempering의 가역성을 증명한다. 이를 통해 640번의 출력 이후 내부 상태를 완전히 복원하고 이후 출력 예측이 가능함을 보인다. 비트 조작 방식이 더 효율적이지만, 선형대수 접근법은 개념적으로 더 명확하다.

https://www.johndcook.com/blog/2026/05/10/reverse-mersenne-twister/

#mersennetwister #prng #linearalgebra #galoisfield #cryptography

Reverse engineering Mersenne Twister with Linear Algebra

The Mersenne Twister is unsuitable for cryptography because its internal state can be inferred from its output. How to compute the inverse using linear algebra.

John D. Cook | Applied Mathematics Consulting
Think Linear Algebra — Think Linear Algebra

Think Linear Algebra — Think Linear Algebra

Alright, future engineers!
The **Dot Product** takes two vectors and returns a scalar. It tells you how much they align!
Ex: For `v=[v1,v2]` & `w=[w1,w2]`, `v.w = v1w1 + v2w2`.
Pro-Tip: If `v.w = 0`, the vectors are orthogonal (perpendicular)!
#LinearAlgebra #Vectors #STEM #StudyNotes

Alright, future engineers!

The **Determinant** of a square matrix is a scalar value that tells you if the matrix is invertible.
Ex: For `[[a,b],[c,d]]`, `det = ad - bc`.
Pro-Tip: If `det = 0`, the matrix is singular (no inverse), meaning `Ax=b` has no unique solution!

#LinearAlgebra #Matrices #STEM #StudyNotes

Poetic Carousel 8

#NaPoWriMo #NaPoGenMo #Ruby #Python #Carousel

Blog/Ruleset : https://blog.illestpreacha.com/napowrimo-genmo2026-matricepoem2

For the 19th poem of NaPoWriMo/NaPoGenMo 2026, Poetic Carousel 8 rules are coded in Ruby & Python: Where the starting letter of each word is derived from a 4x4 matrix that is generated with no repeat letters and then transposed.

#Poem

Bring your Resolve Strongly
Hoping Gains Unanimously Proceeds
During all Quests, Ventures
Merging levels, Knowledgeable Conquests

Blending Humor. Drama, Memoirs
Your goals, actions ,luck
Resonating ultra quality Knowledge
splurging past various content

#creativecoding #napowrimo2025 #napogenmo2026 #lineralgebra #worldbuilding #mathematical #linearalgebra #napowrimo24 #matix #ciphers

Alright, future engineers!
**Matrix multiplication** combines two matrices, forming a new one where elements are dot products of rows & columns.
Ex: `(AB)_ij = sum(A_ik * B_kj)`. Inner dimensions must match!
Pro-Tip: It's NOT commutative (AB != BA)!
#Matrices #LinearAlgebra #STEM #StudyNotes

Alright, future engineers!

The **Dot Product** of two vectors gives a scalar, measuring their alignment.
Ex: For `v=[1,2]`, `w=[3,4]`, `v.w = (1*3) + (2*4) = 11`.
Pro-Tip: A zero dot product means the vectors are orthogonal!

#LinearAlgebra #Vectors #STEM #StudyNotes

Poetic Carousel 7

#NaPoWriMo #NaPoGenMo #Ruby #Python #Carousel

Blog/Ruleset : https://blog.illestpreacha.com/napowrimo-genmo2026-matricepoem

For the 19th poem of NaPoWriMo/NaPoGenMo 2026, Poetic Carousel 7 rules are coded in Ruby & Python: Where the starting letter of each word is derived from a 3x3 matrix that is generated with no repeat letters and then transposed.

#Poem

Entering Before Comfort
Determining Many Vessels
Quietly Securing Keys

Exiting Despondent Quest
Bettering Many Skills
Confronting various Knowledge

#creativecoding #napowrimo2025 #napogenmo2026 #micropoem #worldbuilding #mathematical #linearalgebra #napowrimo19

OH "Most programmers will go far, far, far out of their way with trigonometry and complex loops to avoid having to learn basic #linearalgebra things."