Digamos que você tenha algum texto e queira enviá-lo ao seu amigo, mas não deseja que mais ninguém o leia. Isso provavelmente significa que você deseja criptografá-lo para que somente você e seu amigo possam lê-lo. Mas há um problema: você e seu amigo se esqueceram de concordar com um método de criptografia; portanto, se você enviar uma mensagem a eles, eles não poderão descriptografá-la!
Depois de pensar nisso por um tempo, você decide apenas enviar ao seu amigo o código para criptografar sua mensagem junto com a mensagem. Seu amigo é muito inteligente, então provavelmente pode descobrir como descriptografar a mensagem estudando o método de criptografia.
Obviamente, como outras pessoas podem estar lendo a mensagem, você deseja escolher um esquema de criptografia que torne o mais difícil possível o crack (descubra o esquema de descriptografia).
Tarefa dos Policiais
Nesse desafio, os policiais desempenharão o papel de gravador: você criará um esquema de criptografia que converte cadeias de caracteres em cadeias de caracteres. No entanto, esse esquema de criptografia deve ser bijetivo , o que significa que não há duas seqüências de caracteres mapeadas para outra sequência e todas as sequências podem ser mapeadas por uma entrada. Ele deve receber apenas uma entrada - a sequência a ser codificada.
Você publicará algum código que executa a criptografia e uma única mensagem criptografada com o esquema detalhado por seu código.
Como você está pagando pelo byte para enviar mensagens, sua pontuação será o comprimento do seu código mais o tamanho do texto cifrado . Se sua resposta estiver errada, você terá uma pontuação infinita.
Após uma semana, você poderá revelar o texto e marcar sua resposta como Segura . Respostas seguras são aquelas que não podem ser quebradas.
Tarefa de ladrões
Os ladrões serão os amigos do escritor ou o intermediário mal-intencionado (não há diferença material, mas você pode interpretar como se isso tornar mais divertido fazê-lo). Eles pegam os esquemas de criptografia e o texto cifrado e tentam descobrir a mensagem criptografada. Depois que descobrirem a mensagem criptografada, eles a postarão em um comentário. (Não haverá um tópico de ladrões separado para esta pergunta.)
O vencedor será o ladrão com mais rachaduras.
Aqui está um exemplo de como pode ser uma solução quebrada:
fonte
Respostas:
Geléia , 57 + 32 = 89 bytes ( rachado )
Mensagem criptografada:
Como uma sequência hexadecimal:
Explicação:
Onde
N
é codificado pela sequência“¡ḟċ⁷Ḣṡ⁵ĊnɠñḂƇLƒg⁺QfȥẒṾ⁹+=?JṚWġ%Aȧ’
, que é o número105587021056759938494595233483151378724567978408381355454441180598980268016731
.Além disso, este é o método RSA com
N
a chave pública e acima indicada21
. Quebrar isso é equivalente a encontrar os dois principais fatores deN
.fonte
_ìNb
( Experimente online! ).Geléia , 88 + 64 = 152 bytes
Função de criptografia:
Mensagem criptografada:
Como uma sequência hexadecimal:
Explicação:
Onde
N
é codificado pela sequência:qual é o número
Além disso, este é o método RSA com
N
a chave pública e acima indicada13
. Quebrar isso equivale a encontrar os dois fatores principais deN
, que tem 512 bits.fonte
JavaScript (ES6), 43 + 33 = 76 bytes Cracked by Leaky Nun
Função de criptografia, 43 bytes:
Mensagem criptografada, 33 bytes:
Nota: este método de criptografia depende do navegador.
fonte
T! a)o khas eotrto-c; o sa cwsaoy
That was soooo easy to crack! -;)
(I utilizado firefox a quebrá-la)Braingolf, Rachado
Experimente online!
Mensagem criptografada, 45 bytes (UTF-8)
Hexcódigos de mensagem criptografada
Mensagem descriptografada
Explicação
Decodificador
Um decodificador pode ser feito alterando apenas 3 caracteres. Basta retirar o
1
e insira$_
inbetween&,
e&g
fonte
C'mon, this one's *easy*!
g
não é documentado?JavaScript (ES6), 96 + 9 = 105 bytes
Texto cifrado (codificado em hexadecimal):
7d111c74b99faff76a
Experimente online!
Resultados de amostra (usando o mecanismo V8):
abc123 -> db48ea4f86b9
Olá -> 1b3420f5ab
fonte
76
.