Puncte:0

Vreun cifru numar la numar?

drapel us

Sunt curios (nu sunt informat din punct de vedere tehnic) dacă cifrul număr-la-număr este comun/util în criptografie.

Imaginați-vă, vrem să criptăm un întreg y la un întreg X. Folosind o formulă ca

x = 2 * y - 1

se poate descifra cu ușurință având câteva exemple de potrivire X y. Prima problemă este că secvența de y numere întregi este identică cu cea a X.

Există o modalitate de a cifra numere întregi în timp ce rezultatul este un număr întreg similar (nu nebunește mai mare; de ​​exemplu, schimbarea unui număr de 6 cifre într-un număr de 6-8 cifre)?

bk2204 avatar
drapel fr
Întrebați despre un design care oferă o mapare consecventă între numerele de intrare și de ieșire (care este nesigur) sau întrebați despre un design sigur?
drapel us
@bk2204 este o mapare consistentă, deoarece cineva cu cheia poate obține direct `y` din `x`. Cu siguranță, nu este la fel de sigur ca hashingul unidirecțional; dar complexitatea cheii o face mai greu de descifrat.
fgrieu avatar
drapel ng
Se pare că cereți Format-Preserving Encryption, o formă specială de cifru bloc care poate găzdui text simplu și text cifrat într-un format prescris, de ex. 7 cifre. Se pare că _nu_ cauți un cifr de flux, așa că am schimbat eticheta.Dacă FPE face treaba, vă rugăm să închideți întrebarea dacă nu doriți mai multe informații despre FPE (poate o introducere sau un exemplu simplu de algoritm), caz în care specificați constrângerile dvs.: posibil cu computer, calculator portabil, pix și hârtie... fix sau variabil dimensiune pentru text simplu și ciphertext, care duce zero semnificativ sau nu...
drapel us
@fgrieu multumesc pentru clarificare. Ai dreptate, probabil că nu se încadrează în domeniul de aplicare al cifrului de flux, dar nici nu este un cifru bloc tipic. Modul este codul electronic, dar după cum am înțeles, cifrul bloc transformă fiecare caracter într-unul nou. Întrebarea mea este să tratez intrarea ca un număr (nu un set de cifre). Nu trebuie să menținem dimensiunea ieșirii egală cu intrarea. Am subliniat doar că producția nu ar trebui să fie nebunește de mare. De exemplu, folosim formula `x = a * y^3 + b * y^2 + c * y + d`. Va fi foarte greu de descifrat rezultatul, dar va fi prea mare.
fgrieu avatar
drapel ng
Dacă ceva care poate fi un întreg $[0..999999]$ (până la 6 cifre zecimale) pentru textul simplu este OK și permiteți ieșirii să fie considerabil mai mare decât intrarea, de ex. un întreg în să spunem $[0..2^{33}-1]$ (care se potrivește cu 10 cifre zecimale), apoi puteți utiliza orice cifru standard, flux sau nu (de exemplu, AES-CTR obișnuit) cu o simplă conversie din zecimal până la binar al textului simplu (20 de biți) și binar până la zecimal al IV+text cifrat (13+20 biți). Nu aveți nevoie de FPE complet, sigur că IV-ul este mic; și nu aveți criptare autentificată, dar asta nu este cerut. Pot detalia într-un răspuns dacă este necesar.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.