Bifid cipher: Difference between revisions
Content added Content deleted
mNo edit summary |
(added RPL) |
||
Line 1,986: | Line 1,986: | ||
Encrypted : NGiw3okfXj4XoVE_NjWcLK4Sy28EivKo3aeNiti3N3z6HCHno6Fkf |
Encrypted : NGiw3okfXj4XoVE_NjWcLK4Sy28EivKo3aeNiti3N3z6HCHno6Fkf |
||
Decrypted : The_invasion_will_start_on_the_first_of_January_2023.</pre> |
Decrypted : The_invasion_will_start_on_the_first_of_January_2023.</pre> |
||
=={{header|RPL}}== |
|||
« DUP SIZE √ "" → in key n out |
|||
« { } DUP |
|||
1 in SIZE '''FOR''' j |
|||
key in j DUP SUB |
|||
POS 1 - n MOD LASTARG / IP |
|||
SWAP ROT SWAP + ROT ROT + SWAP |
|||
'''NEXT''' |
|||
+ 'in' STO |
|||
1 in SIZE '''FOR''' j |
|||
'out' key |
|||
in j DUP 1 + SUB |
|||
OBJ→ DROP SWAP n * + 1 + |
|||
DUP SUB STO+ |
|||
2 '''STEP''' |
|||
out |
|||
» » '<span style="color:blue">→BIFCOD</span>' STO |
|||
« DUP SIZE √ "" → in key n out |
|||
« { } |
|||
1 in SIZE '''FOR''' j |
|||
key in j DUP SUB POS |
|||
1 - n MOD LASTARG / IP |
|||
ROT SWAP + SWAP + |
|||
'''NEXT''' |
|||
DUP 'in' STO SIZE 2 / |
|||
1 OVER '''FOR''' j |
|||
'out' key |
|||
in j GET n * in 5 PICK j + GET + 1 + |
|||
DUP SUB STO+ |
|||
'''NEXT''' |
|||
DROP out |
|||
» » '<span style="color:blue">→BIFDEC</span>' STO |
|||
« { "ATTACKATDAWN" "ABCDEFGHIKLMNOPQRSTUVWXYZ" |
|||
"FLEEATONCE" "BGWKZQPNDSIOAXEFCLUMTHYVR" |
|||
"ATTACKATDAWN" "BGWKZQPNDSIOAXEFCLUMTHYVR" |
|||
"THE INVASION WILL START ON THE FIRST OF JANUARY" "ABCDEFGHIJKLMNOPQRSTUVWXYZ 123456789" } |
|||
→ examples |
|||
« 1 examples SIZE '''FOR''' j |
|||
examples j GETI ROT ROT GET |
|||
<span style="color:blue">→BIFCOD</span> DUP examples j 1 + GET |
|||
<span style="color:blue">→BIFDEC</span> 2 →LIST |
|||
2 '''STEP''' |
|||
» » '<span style="color:blue">TASK</span>' STO |
|||
{{out}} |
|||
<pre> |
|||
4: { "DQBDAXDQPDQH" "ATTACKATDAWN" } |
|||
3: { "UAEOLWRINS" "FLEEATONCE" } |
|||
2: { "EYFENGIWDILA" "ATTACKATDAWN" } |
|||
1: { "TEISTO1HKVCWO1GYIV EGPCZKOJAOI 9MG5OIH 64IRPBM4" "THE INVASION WILL START ON THE FIRST OF JANUARY" } |
|||
</pre> |
|||
=={{header|Ruby}}== |
=={{header|Ruby}}== |
||
<syntaxhighlight lang="ruby" line> |
<syntaxhighlight lang="ruby" line> |