Navigation Menu

Skip to content

avened/runic32

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

runic32 - base32-like (RFC 4648) encoder with Anglo-Saxon runes as a base.

Similarly to base32 implementations, this tool encodes arbitrary sequence of bytes into runic string with alphabet comprising 32 runes as a (numerical) base and one rune as padding character. It can also decode (correct) runic strings back to bytes. E.g. "ᚻᚳᚢᚱᚷᛒᚦᚳ" == "ABCDE".

Practicality is at least questionable, as it encodes every five bytes into eight weird symbols, each of three octets long (UTF-8), thus puffing the result up to copious 24 bytes. But this result, while remaining pretty much useless, looks great. This deeply philosophical combination justifies the method. Of course one needs a compatible console to see it.

Golang:

go build runic32.go

Examples:

$ echo "ENCODE THIS STRING TO RUNIC-BASED STRING" | ./runic32

$ echo "ᚻᛝᚹᚱᚷᛗᛠᚱᚻᛚᛏᚳᚻᛖᚦᚾᛁᛇᛏᚳᚷᛝᚦᛖᚾᚳᚹᚱᛉᚻᚦᛚᚾᛣᛏᚳᚱᛝᛁᛉᚾᚳᚢᛖᛠᛏᛖᚢᛁᛈᚦᛚᚻᚻᚦᛗᛁᛒᚾᚱᛖᛗᛖᚹᚢᚻᛥᛥᛥᛥᛥᛥ" | ./runic32 -d

$ ./runic32 cert.der > cert.runic32
$ ./runic32 -d cert.runic32 > cert.der
 
TLS certificate (in DER) encoded with runic32 (lines wrapped at 50):

ᚷᚦᚢᚠᚾᚷᚢᛏᛏᚻᚦᚩᚣᚻᚠᚩᚠᚻᚠᛏᚱᚠᛏᛒᚠᚩᚻᛞᚩᛞᛞᛁᚱᛇᛡᛁᚣᛢᛠᚫᚩᛇᛠᛈᛣᚢᛏᚷᛈᛟ
ᛡᚩᚠᚦᛏᚷᚢᚠᛝᚻᛇᛖᚷᛉᚹᛚᚦᚠᚷᚠᛒᛏᛏᚷᚹᛗᚦᚦᚫᛏᚢᚱᚩᚠᚷᛝᚻᚱᚠᚪᚾᛏᚱᛒᛠᚦᚷᚱᛈᛗ
ᚠᚷᚻᚷᚠᛈᛁᛏᚻᚦᚠᛗᚦᚾᚩᛞᚱᚫᛡᚢᛉᛒᛖᛞᚱᚻᚦᛈᛇᚳᛞᚷᚷᛠᚩᚳᛉᛈᛠᚷᛁᛣᛒᛒᚦᚠᚪᚠᛣᚢ
ᛏᚩᛁᛚᚦᚠᛉᚱᚪᚹᛁᛈᛏᛟᚪᚫᛗᛋᛉᚾᛖᚩᚦᚷᚢᛏᚦᚪᚩᚠᚷᛝᚻᚱᚢᚻᚾᛏᚸᛚᚣᚳᛇᛈᛠᚷᛖᚫᚣᛋ
ᚱᚢᚷᚷᛖᚣᛡᚾᛉᛒᛖᛟᚻᛇᚾᛞᚷᚠᛠᛏᛇᚠᛠᛝᚠᛏᚢᛒᚷᛡᛖᛗᛇᛝᛒᛞᚻᛠᛡᚹᛈᛣᛏᚱᛁᛏᛠᚩᚱᚢ
ᚦᚷᚸᚣᛡᚢᛈᚳᛞᚦᚠᛝᛗᚢᛈᛒᛚᛟᚻᚪᛡᛚᛈᚳᛞᛟᛣᚻᚦᛗᛇᛝᛒᛞᛁᛣᛗᚳᚱᚢᚾᛟᛁᛣᛗᛟᛇᛝᚫᚦ
ᚠᛏᛠᚢᚷᚠᛋᚢᛉᚩᚾᛖᚷᚠᚪᚩᛏᛇᚢᛒᚷᚠᚪᚩᚠᛇᚢᛏᚷᚢᛈᚢᛉᚩᚾᛖᚷᚻᚪᚩᛏᛇᚢᛒᚷᚻᚫᛗᛁᛉ
ᚾᛝᚹᚳᛈᚩᚠᚱᛒᛒᚦᚠᚪᚠᛣᚢᛏᚩᛁᛚᚦᚠᚷᚱᚪᚹᛇᛒᛣᚷᚻᛤᚢᛉᛉᚾᛠᛗᚠᛟᚾᛏᚦᛇᚩᚠᛉᛁᛚᚷ
ᚾᚩᚹᚩᛠᚠᛏᚢᚠᚪᚱᚦᛝᚢᛖᚻᚫᚪᚸᛏᚷᚠᚻᚹᚠᛈᚢᚠᚠᚢᚷᚸᛝᛞᚠᛈᛤᚳᛠᚢᛏᛋᛟᛏᚠᚫᛗᛁᛗᛣ
ᛒᛞᚻᚱᚾᛟᛉᚱᛉᛁᛡᚾᚾᛚᚹᚸᚩᚾᛠᛤᚦᚩᚸᚳᛚᛣᛡᛞᛤᛇᛖᛝᛟᛟᛉᚢᛞᚦᛝᛞᚹᛋᚳᚷᛠᛟᛉᛝᚪᛉ
ᛇᛠᛇᚪᛏᚪᛋᛋᛞᛠᛗᛖᚾᛡᛇᚸᛞᚻᛁᚦᛟᚳᚾᛤᛋᛉᛟᚳᚸᛇᛤᚹᛋᚻᛣᚦᚠᛡᛠᚩᚢᚠᛏᚦᚸᚠᚪᚢᚸᚢ
ᛏᚩᛁᛚᛉᛖᚷᚢᚠᚪᚷᚠᛡᚻᚠᚳᚹᛟᛏᛚᚳᚩᛟᚱᛇᚷᛣᚱᚦᚹᛠᚩᛝᛁᚢᛇᛟᛈᚳᚣᛟᛇᛇᛒᛤᛞᛞᛡᛒᛏ
ᚩᛚᚩᚠᚷᛝᚻᛤᚢᚪᚦᚢᛇᚢᚠᛚᛤᚹᛚᛝᛉᛣᛡᛢᚩᛠᛣᚻᚪᚠᛞᚷᛉᛝᛝᚻᛡᚣᛣᛇᛢᛏᛠᛟᚸᛋᛝᛢᚷᚠ
ᚹᚠᛇᚠᛠᛝᚩᛚᚹᛏᚦᚠᛋᛢᚠᛏᚦᚠᚷᚠᛏᚹᛏᚠᚪᚠᚪᚢᛏᚩᛁᛚᛉᛒᚷᚠᚻᚢᛢᛣᚦᚠᚱᛇᚠᚠᚷᚠᛉᛏ
ᛇᚠᛠᛝᚩᛚᛖᛏᚻᚳᛒᛏᚦᛏᚩᚠᛏᛁᚪᚷᚠᚱᚦᛏᛁᚢᚪᚩᚠᚱᚩᚠᛏᛁᚪᚷᚠᚱᚦᛏᛁᚢᚪᚩᚠᚻᚪᚱᛖᚢ
ᛏᚩᛁᛚᛉᛖᚠᚢᚦᚦᚷᚢᚠᚩᚠᛈᚠᚷᚢᛇᛝᛏᛇᚠᚻᚱᚠᚷᚫᚩᚦᚠᚻᚦᚠᚻᚩᛗᚠᚾᚾᛏᚱᛇᚩᚠᛏᛁᚪᚷ
ᚠᚱᚦᛏᛁᚢᚪᚦᚠᚱᛡᚢᛉᛠᚩᛚᛉᛒᚪᚹᚷᛉᛒᛋᚳᛤᚫᛟᛁᚪᚣᛚᛈᚳᛗᛟᚸᛡᛗᚩᛈᛤᛟᛖᚸᛏᛠᛏᛁᛇ
ᚪᚠᛏᚢᛏᚷᛇᚸᚠᛏᚪᚠᚻᚦᚠᚱᚪᚻᚩᚢᚠᚷᚢᚠᛝᛏᛇᚠᚻᚳᚠᛚᚩᛏᚦᚠᚻᚱᛋᚠᚪᚹᛇᛇᚦᛋᚠᚪᚱᚦ
ᛟᚢᛏᚢᚠᛚᚦᛏᛉᛇᚠᚦᛏᚫᚢᛟᛏᛤᚩᛚᛉᚠᛤᚦᚸᛡᚣᚩᛉᚾᛠᚦᛣᛣᚣᚳᛇᛈᛠᚷᛖᚫᚣᛋᚳᚫᛒᛟᚸᚣ
ᚾᛋᛁᛈᛖᛟᚷᛤᚩᚾᛇᛤᛞᛚᛁᛏᛠᚩᚻᛒᛞᛟᛠᚪᛡᚾᛈᚫᛡᚷᚦᚣᚩᚾᛇᛒᛏᛞᚻᛠᛡᛋᛈᚫᚾᛟᛁᚪᚣᛝ
ᛉᚾᛖᛝᚷᚫᛡᛖᛉᚫᛖᛞᚱᛏᛠᚢᚳᚫᛒᛞᚱᛤᚢᛏᚱᛇᚩᚠᛏᛁᚪᚷᚠᚱᚦᛏᛁᚢᚫᛏᚠᚷᚩᚢᛉᛠᚩᛚᛉᛒ
ᚪᚩᛚᛡᚫᛋᛈᛤᛒᛞᚷᛣᚢᛉᛉᛈᛖᛟᚷᛤᚩᚾᛇᛤᛞᛖᛣᚪᚣᛋᛈᛚᚪᚢᚸᚢᛏᚩᛁᛚᛉᛒᚦᚢᚠᚪᚷᚠᛡᚻ
ᚱᚢᚣᚱᛋᚢᛖᚹᚻᛡᛗᛖᛉᛟᚢᚠᛟᛤᚣᛞᛉᛣᛞᚷᚻᚸᚩᚱᛉᛏᛞᚹᚱᛤᚾᛏᛏᚻᚠᛞᚪᚢᛏᛁᚳᛇᚩᚠᚦᚢ
ᚠᚢᛠᚫᛣᛏᚱᚢᚠᚦᚠᛖᚢᚠᚦᚣᚠᚱᛏᚻᚠᛟᛏᚠᛡᚷᚠᚢᛠᛏᚠᛒᛝᚳᛁᛞᛝᛞᛡᚸᛚᛒᚱᚠᚪᛡᛡᚻᛚᚾ
ᛈᚹᛠᛋᚷᛢᚻᛒᚳᛒᚠᛞᚾᛋᛞᛤᚾᚷᛣᚻᛡᛁᛢᛖᛢᛒᚪᛋᛣᚣᛁᚹᚠᚠᚠᚠᚦᛣᛤᚾᚹᛞᛟᛤᛉᚠᚠᚠᚠᛏ
ᚢᛏᚠᛒᛒᛏᚻᛏᚢᚦᚠᛈᛏᛤᛤᚷᛏᛉᛡᛗᚷᚦᚸᛝᚳᚸᚣᛠᛖᛉᚪᚻᛠᛞᛉᛈᛚᚷᚣᛞᚷᛏᚩᛟᚳᚹᛖᛖᛁᛋ
ᛖᛣᚳᛢᛉᚸᚹᚷᛒᚾᛇᚩᚠᚻᛏᚷᛟᚪᛝᛁᚸᛡᛏᛁᚸᚳᛞᛡᛈᚻᛗᛒᚪᛟᚻᛖᚠᛏᛋᛏᚢᛠᛠᚪᛏᛚᚱᚳᛏᛡ
ᛟᛁᚫᚻᚳᛢᛡᚱᚷᛁᚻᛋᛢᚻᚹᛠᚪᚠᛉᛚᚠᛈᛢᚾᛁᚸᛝᛈᛚᚻᚱᛗᚪᛢᛈᛖᛟᚸᛤᛉᚦᛢᚾᚪᛢᚳᛝᛠᛟᛈ
ᛚᚻᚾᛁᚻᛠᛖᚸᛒᚪᛤᛒᚳᛏᚢᚠᚻᛒᛉᚦᛚᛣᚪᚠᚠᚠᚠᛞᚹᛁᚾᛤᛤᚪᚩᚠᚠᚠᚠᚱᚠᛇᚠᚱᛇᛇᚦᚱᚠᚻ
ᛏᚦᛝᛇᚢᛣᛒᛏᚫᛤᛁᛚᛖᛖᚸᚠᛟᛡᛗᛇᚪᛖᚣᛡᚸᚣᛒᛣᛉᛉᛁᛣᛒᛚᛞᛒᚸᛠᛠᚩᛝᛁᛗᛤᚦᛋᚾᛣᚦᛟ
ᚩᛞᛏᚦᚱᚢᛡᛤᛖᚣᚱᛟᛇᚻᛏᛡᛣᚦᛗᛤᚷᚩᛁᛉᛣᚦᛉᛋᛢᛤᚳᚫᚹᛠᛠᛖᛈᛋᛉᛒᛠᚳᛉᚩᛖᛗᚫᛗᛒᛉ
ᚪᛞᛏᚠᚾᚩᚦᚠᚩᛟᚠᚢᛞᛝᚷᛤᛝᛇᚷᚹᚪᚩᚦᚷᛉᚪᛗᚱᚠᛁᚻᛚᚻᛝᛢᛤᚣᛒᛁᚹᚠᛒᚣᚱᚢᛇᚦᚠᚢᚾ
ᚠᛠᚷᚣᚱᚦᚱᛠᚷᛢᛇᛒᚷᚠᚠᚠᚠᚳᚫᛠᛖᛋᛋᛈᛠᛣᚠᚠᚠᚢᚠᚩᚠᚢᚩᛗᚠᛒᚻᚦᚱᚠᛉᛣᛞᛤᛉᚫᛇᛤ
ᛈᛉᛤᛉᛋᛈᚢᛠᚩᛣᛝᚢᛣᛢᛡᚹᚱᚹᛖᛟᚦᛏᛒᚸᛠᛇᚻᛖᚹᛟᚷᚾᛞᛢᛢᚢᛉᚣᛈᛏᚦᛗᛚᚠᛒᚢᚠᚩᚹᛚ
ᛋᛝᛏᚩᚷᚻᛢᛖᛁᛤᛏᛇᚸᛇᛈᛁᛣᛣᚳᛢᚻᛡᚩᚾᛣᛒᛇᛋᛞᚫᛇᛞᛚᚫᛋᚾᚸᚳᛏᚷᚷᚱᛝᛝᛗᛤᛗᛤᛁᛇ
ᚠᛁᚠᚪᚱᚦᛝᚢᛖᚻᚫᚪᚸᛏᚻᚠᚪᚦᚠᛈᚱᛏᚠᛇᚦᚷᚠᚻᛏᛏᚢᚱᚹᚢᚳᚢᚾᛉᛟᛠᛖᛈᛒᛞᚦᛒᚾᛝᛖᚦ
ᚱᛇᛒᛟᛇᚠᛋᛚᚹᛚᛒᚻᚫᛤᛞᚣᛖᛢᚫᛉᛝᛒᛠᛉᛝᛈᛗᚩᛁᛣᛈᛏᚠᚻᛏᛏᚢᚩᛋᚸᚪᚦᛢᛚᛢᛏᛗᛢᚸᚣ
ᛒᛡᛠᛉᛗᛉᛞᛤᚣᛞᚣᚠᛇᛗᛝᛇᛡᛟᚪᛒᛝᚪᚹᚱᛈᛚᚾᚢᚷᚢᛈᚦᛟᛟᚣᛣᛇᛗ

To view it: 
$ ./runic32 -d certificate.runic32 | openssl x509 -inform der -text -noout

Releases

No releases published

Packages

No packages published

Languages