A toolset for working with 3301's Liber Primus.
Clone and run the repository to translate the first segment of Liber Primus.
$ git clone https://github.com/rtkd/idkfa .
$ npm install
$ chmod u+x idkfa
$ ./idkfa -s 0.0 -v l -i l
Returns latin character(s) at position(s) n.
-c 0 1 2 3
Finds crib candidates and returns source, source path and key
-f the circumference
Inverts/Reverses source, gematria and key properties
-i f
- f — Invert gematria column: futhark
- k — Invert key
- l — Invert gematria column: latin
- o — Invert gematria column: offset
- p — Invert gematria column: prime
- s — Reverse shift
- t — Reverse source text
Generates and applies key(s) for decryption.
Keys can be denoted as integer
, integer csv
, latin
, futhark
or mathematical expression
. Multiple keys are seperated by a space.
For details on using mathematical expressions see: MathJS Functions
Expressions must be enclosed in single quotation marks.
Generator functions int()
, odd()
, even()
, prime()
, fib()
will accept 0, 1 or 2 parameters of type integer
.
- 0 parameters will generate as many consecutive numbers as the selected source has graphs.
- 1 parameter will generate first n consecutive numbers, and repeat as source has graphs.
- 2 parameters will generate consecutive numbers from n to n, and repeat as source has graphs.
If first parameter is larger than second, order of numbers will be reversed.
Available transformations: Euler Phi ephi()
, Möbius: mob()
Generate key: 1,1,1,1..
-k 1
Generate key: 1,2,3,1,2,3..
-k 1,2,3
Generate key: 23,10,1,10,9,10,16,26,23,10,1,10,9,10,16,26..
-k divinity
Generate key: 0,3,3,17,24,4,0,3,3,17,24,4..
-k ᚠᚩᚩᛒᚪᚱ
Generate key: 1,2,4,6,10,12,16,18,22,28,30,36..
-k '$(ephi(x), x, prime())'
Generate key: 29,23,19,17,13,11,7,5,29,23,19,17,13,11,7,5..
-k '$(x, x, prime(10, 2))'
Generate keys: 1,2,3,1,2,3.. and 23,10,1,10,9,10,16,26,23,10,1,10,9,10,16,26..
-k 1,2,3 divinity
- d — Patch the dictionary to match expected output ((I)NG, I(A/O)..)
- s — Patch chars at specific positions within source. (See config.js)
-p s
Select part(s) of source. Source accepts one or multiple paths, each consisting of one or multiple waypoints, seperated by a dot. Each waypoint denotes an offset within the hierarchical source array.
-s 0.0
Select chapter 0
-s 0
Select section 12 of chapter 0
-s 0.12
Select paragraph 1 of section 13 of chapter 0
-s 0.13.1
Select sentence 1 of paragraph 0 of section 11 of chapter 0
-s 0.11.0.1
Select word 5 of sentence 4 of paragraph 0 of section 11 of chapter 0
-s 0.11.0.4.5
Select graph 1 of word 5 of sentence 4 of paragraph 0 of section 11 of chapter 0
-s 0.11.0.4.5.1
Sets the data to return.
-v c w x
-
c — The char (graph) count of the selected source.
-
d — Matches generated latin against a dictionary and returns longest and most matched words.
-
f — The generated latin as futhark.
-
i — The Index of Coincidence for the given source.
-
k — The generated key(s).
-
l — The generated latin text.
-
p — The generated text as primes.
-
s — The selected source
-
w — The word count of the selected source.
-
x — The checksum (sum of gemartia prime values) of the selected source.
Returns latin word(s) at position(s) n.
-w 21 27 42
Segment: 0
./idkfa -s 0.0 -v l -i l
Segment: 1
./idkfa -s 0.1 -v l -p s -k divinity
Segment: 2
./idkfa -s 0.2 -v l
Segment: 3
./idkfa -s 0.3 -v l -i l -k 3
Segment: 4
./idkfa -s 0.4 -v l
Segment: 5
./idkfa -s 0.5 -v l -p s -k firfumferenfe
Segment: 6
./idkfa -s 0.6 -v l
Segment: 16
./idkfa -s 0.16 -v l -p s -k '$(ephi(x), x, prime())'
Segment: 17
./idkfa -s 0.17 -v l