Escrever um programa, em linguagem C, que permita decifrar um determinado texto, escrito em língua portuguesa e que foi cifrado por um método de substituição mono-alfabético.
A tarefa será executada sem se conhecer a chave de substituição que deu origem ao texto cifrado.
A técnica para realizar oataquetem como base a análise estatística dos caracteres da língua portuguesa. Por exemplo, o carácter que aparece mais vezes num texto de língua portuguesa é oa. Então, o símbolo que aparecer mais vezes na mensagem cifrada terá que corresponder ao originala. O segundo símbolo com maior frequência é oee pela mesma lógica o símbolo com a segunda maior taxa de ocorrência na mensagem cifrada corresponderá à letra originale. Para que este método deataquefuncione, o texto a decifrar terá que ser suficientemente longo.
Tenha em atenção que, para simplificação, o texto fornecido não contém espaços, nem caracteres acentuados, nem caracteres de pontuação. Assim, o programa escrito em linguagem C não deverá apresentar o texto decifrado com espaços, nem com caracteres acentuados e nem com caracteres de pontuação.
Para se construir o programa suponha-se que a sequência seguinte apresenta a ordem decrescente (da esquerda para a direita) da frequência dos caracteres na língua portuguesa:
a e o s r d n i t m u l c v p g q b f h j x z k y w
Pergunta
Henrique Menna
Escrever um programa, em linguagem C, que permita decifrar um determinado texto, escrito em língua portuguesa e que foi cifrado por um método de substituição mono-alfabético.
cifrada corresponderá à letra original e. Para que este método de ataque funcione, o texto a decifrar terá que ser suficientemente longo.
O texto a decifrar:
cscmxcszfsocmfzscssjncwcgfspezgcfkjgznvcwbmcjcwesjvcncbfmxcmzsnenkcgzcnvzsncazicgfsbcsscmcxcjngccwzxgcvcbmfocnczxbzmjifsziezmmcszsrfmkcgfsxcjsgfpezbmfxzvjccrfmkchexcnczznvmziznvzmzxfvczgjrjkcmcxnfafmzjnfpezvcnvfseowjxcmcxzvcxozxcsxzxfmjcsiwfmjfscsgcpezwzsmzjspezrfmcxgjwcvcngfcrzfjxbzmjfzcsvzmmcsajkjfscsgzcrmjkczgzcsjccngcmcxgzacsvcngfzcpezwzspezbfmfomcsacwzmfscsszacfgcwzjgcxfmvzwjozmvcngfkcnvcngfzsbcwhcmzjbfmvfgcbcmvzszcvcnvfxzcyegcmfzniznhfzcmvzkzsszxgfscojfimzifzgfvmfjcnfcsncazickfzsimcngzspezrjqzmcxkcwzszgzcwztcngmfzgzvmcycnfcrcxcgcsajvfmjcspezvjazmcxpezzekcnvffbzjvfjwesvmzwesjvcnfcpezxnzbvenfzxcmvzfozgzkzmcxkzsszvegffpezcxesccnvjickcnvcpezfevmfacwfmxcjscwvfszcwzacnvczafsvcijgzsxjnhcsbfjskmjcgfvzngzszxxjexnfafzniznhfcmgznvzszszxbmzzxazmsfhexjwgzkzwzomcgfrfjgzxjafssfmjfcwzmzxznvzgcjxzcifmcexsfxcwvfzseowjxcgfexzsvjwfimcngjwfkfzkfmmznvzbfmpezgzafsscsciecsrzoffmgznzpezncfvznhcxznazyccsgzhjbfkmznzgcjxzecremjcimcngzzsfnfmfsczncfgzcimzsvzcazncfermcevcmegcxcsgzveockcnfmczozwjkfscpezfbzjvfckzngzzckfmcfizsvfxegcgcjxzjiecwkcnvfcfsrzjvfsgcrcxfsciznvzafsscpezcxcmvzvcnvfcyegcpezszzsbcwhzzszkcnvznfenjazmsfszvcfseowjxzbmzkfkcozzxazmsfzafsfozxncskjgcsziemcnkcgcwesjvcnccnvjicwjozmgcgzzncfxznfskzmvjssjxczsbzmcnkcgzcexznvfgcbzpeznckmjsvcngcgzafsfnfafvzxfmgcxcemcwcnkcxcmcajwhcrcvcwgcnfsscjgcgzgcgccfxengfbfmgzespezvfgffxcngzbzmcgfxengfcgzesgcmbcmvzimcngz
caracteres de pontuação.
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.