AES, Serpent oder Twofish in C Beispiel?

Fand ich eine Menge von Implementierungen von AES, Twofish und Serpent in C. Aber ich weiß nicht wirklich verstehen, die Beispiele. Ich verstehe nur, dass einige-soweit vorhanden-mit Beispielen zum invertieren einer matrix.

Kann jemand mir ein Beispiel oder .c Datei zu verschlüsseln/entschlüsseln von Daten, dargestellt durch eine char* und ein Passwort?

  • polarssl.org/trac/browser/trunk/library/aes.c polarssl.org/trac/browser/trunk/include/polarssl/aes.h die 981 int aes_self_test( int verbose ) Funktion enthält die erforderlichen Beispiel-code, mit zu arbeiten.
  • ich habe gesehen, dies vor, aber es verschlüsselt nur char-array der Länge 16, und im nicht dass die gute mod sich die wichtigsten Funktionen, danke
  • Auch dieser hier ist auch gut zu hoozi.com/Articles/AESEncryption.htm versuchen Sie googeln für die anderen beiden, es gibt viele von Ihnen herum, und Ihre test Funktionen enthalten in der Regel gute Beispiele. Ich hoffe, ich habe Sie verstanden und Sie half mit Ihrer Frage, wenn nicht, bitte erläutern Sie mehr.
  • Also, was ist Ihr wichtigstes Ziel? Dass Sie nicht finden können, eine Implementierung geeignet für Ihre Anforderungen? Was sind diese Anforderungen, bitte definieren Sie in Frage.
  • Und by the way, vergessen Sie nicht, dass die AES ist eine block-Chiffre.
  • alles was ich brauche ist nur (char *) Verschlüsselung, ich will nur noch einige sichere Daten in meine Anwendung Dateien mit dieser Verschlüsselung. so etwas wie AESEncrypt(char *Data, int len, char *Passwort, int KeySize); wenn möglich, thats all
  • Sie möchten möglicherweise versuchen, anstatt AES Rijndael, der ehemalige unterstützt die Verschlüsselung von block-Größen in vielfachen von 32 bits, in der Erwägung, dass AES ist begrenzt auf 128-bit (16 Zeichen) pro block.
  • ok, was tun, ich nur kann nicht scheinen zu finden, ein gutes Beispiel, und ich bin nicht wirklich ein C-guru, nur wollen diese Sache getan, danke.
  • Twofish ist auch ein 128-bit-max. block Größe der Ziffer, und so ist die Schlange. Sie wird zum verschlüsseln Ihrer Daten block für block, und entschlüsseln Sie block für block.
  • u kenne keine Beispiele, die ich verwenden kann?
  • wenn Sie sind nicht beschränkt auf C, ich schlage vor, auf der Suche in CryptoPP C++ - Bibliothek. Sie müssen herunterladen, kompilieren und verknüpfen Sie die Bibliothek auf Ihre Bewerbung.
  • 16 Bytes ist die native Blocklänge bei AES, Twofish und Serpent. Wenn Sie gefunden haben, eine API, die Ihnen dieses dann müssen Sie implementieren eine cipher-Modus herum. Der empfohlene Modus für diejenigen, die block-Chiffren ist die CBC in den meisten Fällen. en.wikipedia.org/wiki/Block_cipher_modes_of_operation
  • Die Hoozi Implementierung von AES ist gut. hoozi.com/post/829n1/... hat alles was du suchst in der main() Funktion, probieren Sie es aus, es funktioniert.
  • ich bin, ich habe es in c, da die meisten meiner app ist in c, ich kann nicht port allen, dass alles vorbei ist, und im besser in c
  • Wenn die meisten Ihrer app ist in C, dann nehme ich an, Sie wissen genug C-Schnittstelle die Hooze Umsetzung, seine main() enthält die richtige Vorgehensweise, die notwendigen loops und alles.
  • ja, aber wieder, es unterstützt nur den char data[16] zu verschlüsseln, und meine Daten könnte groß sein, nicht loop-throught alle 16 chars, das wird auf jeden Fall die Zeit nehmen und prüfen, ob nicht ausgerichteten Daten zu :/
  • "Sie werden empfohlen, nicht zu verwenden, diese Umsetzung direkt in einer Sicherheits-Produkt oder Anwendung. Bitte verwenden Sie diese AES-source-code nur eine Basis für den Start Ihrer Arbeit. Sie können fügen Sie einige feedback-Mechanismen (auch als Cipher Block Chaining-Modi) zur Erhöhung der Sicherheit dieser AES-Implementierung und auch zur Verringerung von Sicherheitsrisiken wie Block Replay. Wenn Sie sich nicht mit jedem Cipher Block Chaining-Modus, ein Gegenspieler kann in der Lage sein, zu erkennen und nutzen von mustern in Ihrer Nachricht." ~ Hoozi. Lesen, was @Lunatic Experimentatlist schrieb.
  • die Chiffre ist eine Blockchiffre, die Sie haben zu Durchlaufen, es gibt keinen anderen Weg. Überprüfen Strom-Chiffren, wenn Sie nicht bis zu den CBC-Idee. en.wikipedia.org/wiki/Stream_cipher#Usage
  • dude, ich möchte nur, verschlüsseln von strings, das ist nicht essentiell, um zu studieren, block-cipher-oder stromchiffren, ich möchte nur verschlüsseln von Zeichenfolgen in c, Rijndael, Aes, Twofish-CBC, EBC, was, die es tun
  • Gehen Sie mit RC4 en.wikipedia.org/wiki/RC4#Implementation stream cipher dann. Wenn Sie wollen etwas einfacher, ohne die Notwendigkeit zu untersuchen, verwenden Sie eine Caesar-Chiffre.
  • ich fragte nur für AES oder Twofish oder Rijndael oder Schlange, das ist alles im Fragen
  • Wenn Sie sich entscheiden, um mindestens das Lesen und verstehen des source-Codes für AES-Implementierung, polarssl.org/trac/browser/trunk/library/aes.c die PolarSSL-Datei hat tests (und der code für) drei Verschlüsselungen AES (Linien 981 bis zum Ende).
  • wenn Sie wirklich wollen, block-Chiffre, die Sie haben zu tun, einige Lesen (wiki+source-code), sehe ich keinen anderen Ausweg. Es dauert weniger als einen Tag, um alles verstehen und umzusetzen.
  • ok, danke dir trotzdem

InformationsquelleAutor killercode | 2011-01-14
Schreibe einen Kommentar