Transpositions cipher

Tags:    c++

Ok så jeg sad herr forleden og skulle forklare en ven epå nettet hvad et transpositions cipher er, det udviklede sig til dette program.

Fold kodeboks ind/udKode 


Jeg er ikke ligefrem nogen haj til c++ så det er ikke så kønt, men det virker.
Problemet med det er at jeg mangler en eller anden smart måde at lave en permuter (eller key, eller nøgle forhåbenligt ved I hvad jeg mener). Som i kan se er den metode jeg bruger nu ikke lige frem strømlignet, så har i nogle idér? Både til hvordan jeg generer en nøgle og til programmet generelt.
Kunne rigtigt godt tænke mig en (relativ) simpel måde at generere en bare lidt random key.



C biblioteket har en rand funktion. Måske du kunne bruge funktionen til at genererer nogle randomme tal med? Eller udfra tallet, måske en bogstav via et array? Beskrivelse: http://www.phim.unibe.ch/comp_doc/c_manual/C/FUNCTIONS/rand.html
Eksempel: http://www.java2s.com/Code/Cpp/Development/Randfunction.htm



Jeg er udemærket bekendt med rand(), problemet er bare at styrre den på den rigtige måde, problemet er at for at det skal virke rigtigt skal key'en jeg skal bruge være en permutation af tallene mellem 0 og stringlength. Der må ikke være gentagelser eller tal uden for det interval så fucker decifreringen up.



Det kan være du kan finde det i Crypto++:

Crypto++® Library 5.5.2



Indlæg senest redigeret d. 25.09.2007 14:27 af Bruger #4522
Så vidt jeg kan se er den der crypto++ ting til 'rigtig' kryptering, min ting er bare en fjollet ting der er lavet til at illustrere et princip.
Det eneste jeg skal bruge er en relativ simpel metode at genere en permutation af en tal streng.
Det program har ikke rigtigt noget med rigtig kryptering at gøre, det er mest en undskyldning for mig at lære lidt c++, så det skal helst ikke være for advanceret.



Here you are:

Fold kodeboks ind/udKode 




Bertel Brander:

Sejt! Tak skal du ha', skal da lige nærlæse det der kode og gennemskue det!

Endte selv med at finde en metode, således:

Fold kodeboks ind/udKode 




t