|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Mar 2004
Messaggi: 1118
|
[C]Algoritmo di critografia
Sto cercando di fare un programma simile a questo,si tratta della crittografia secondo l'algoritmo aes
http://www.hoozi.com/post/829n1/adva...t-1-encryption Solo che questo è in c++ e io dovrei farlo in c solo che ci sono parecchie cose che non mi sono chiare 1)nelle righe 38 e 62 cosa costruisce?sono due array di int ma gli elementi non mi sembrano int 2)nella riga 206 non capisco cos'è,dice che è una macro che fa il prodotto di 2 con il modulo,ma non ho capito bene cos'è esattamente e se è la causa per cui il programma funziona solo se compilo con g++ e non gcc 3)da 220 a 224 fa delle operazioni con il simbolo ^,che cos'è?mi verrebbe da dire l'elevazione a potenza ma è messo anche a sinistra di un uguale quindi non può essere 4)righe 302,325 e 341,prende da tastiera degli esadecimali,come mai mette %02x nel printf?non ho mai lavorato con gli esadecimali in c Quali sono le istruzioni che mi impediscono di complilare con gcc?E' possibile che il problema dipende dal fatto che uso gcc su un mac? Tempo fa avevo fatto un programma in c che su mac non compilava mentre su ubuntu funzionava perfettamente Grazie |
|
|
|
|
|
#2 | |||
|
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
Quote:
Quote:
per quanto riguarda la macro, non é scritta benissimo ma il significato mi sembra palese, serve a fare due conti sul valore di x che non ho idea di cosa servano perché non conosco AES. l'operatore << fa lo shift a sinistra, cioé moltiplica per 2 elevato alla potenza indicata dal secondo operando; l'operatore >> fa lo shift a destra, cioé divide per 2 elevato alla potenza indicata; l'operatore ^ é il bitwise XOR (fa lo XOR bit a bit); ed infine l'operatore & é il bitwise AND. Quote:
quando é messo vicino ad un uguale si ottiene l'operatore composto ^= il significato dell'operatore composto é il seguente: questa espressione: a ^= b; é precisamente equivalente a questa: a = a ^ b;
__________________
3D Volley Demo (Facebook) | Reversi (Facebook) | Blockout (Facebook) | Puzzle15 (Facebook) Ultima modifica di fero86 : 19-05-2010 alle 21:17. |
|||
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Mar 2004
Messaggi: 1118
|
Quote:
purtroppo per me non ho mai avuto a che fare con le macro,comunque ora so cosa cercare per capire meglio questo codice grazie |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:54.




















