We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.

ShaFuck

From Esolang
Jump to navigation Jump to search
This article is not detailed enough and needs to be expanded. Please help us by adding some more information.

ShaFuck is a version of Brainfuck that is intended to be nigh-on impossible to write.

A ShaFuck program may be any sequence of bytes of a length greater than zero which is a multiple of 1024. The SHA-1 sum of every 1024-byte chunk is calculated, and all of the SHA-1 sums are then concatenated. This sequence of SHA-1 sums is interpreted as Brainfuck code, with the caveat that comments are not allowed. Each 1024-byte chunk in the source therefore represents 20 Brainfuck operations.

A ShaFuck interpreter written by Gregor Richards is available at http://codu.org/eso/shafuck/.

Cryptanalysis

In December 2012, Shinichiro Hamaji has found a vulnerability that the current (0.2) implementation of ShaFuck does not check if the code is a comment when the code is never executed. Taking this advantage he was able to write a straightforward translator from Brainfuck to ShaFuck.