Μετάβαση στο περιεχόμενο

VHDL Implementation of Padding Unit


chryssa

Recommended Posts

Γεία σας,

Με ενδιαφερει να κάνω μια υλοποιήση μιας padding unit σε VHDL για την προετοιμασία ενός μηνύματος για SHA -2 κωδικοποίηση. Παρόλο που έχω ψάξει σε όλο το ιντερνετ για τεχνικες υλοποίησης αυτου πουθενα δεν δημοσιευεται ούτε κουβέντα σχετικά με το πως και το τι και το μόνο που λένε ειναι οτι το υλοποιούν σύμφωνα με το πρότυπο απο την NSA (αυτο ίσως να εχει να κανει με το οτι δεν το φτιάχνουν γιατι για να αποδειξει την ταχυτητα ενός sha core implementation δεν χρειαζεται να κάνουν το paddin unit παραμόνο τον πυρήνα).

 

Υπάρχει κάποιος/α που εχει ασχοληθει με το θέμα του padding?

 

ευχαριστώ

Link to comment
Share on other sites

Επειδή μάλλον δεν είμαι ο μόνος που δεν ξέρω τι είναι το padding, θα μπορούσες να εξηγήσεις περί τίνος πρόκειται; Για να μαθαίνουμε κιόλας...

Link to comment
Share on other sites

Το συγκεκριμενο τσιπ αν εχω καταλαβει σωστα θα μετατρεπει δεδομενα σε κωδικοποιημενη μορφη http://en.wikipedia.org/wiki/SHA_hash_functions

Περισσοτερα μαλλον θα μας εξηγησει η chryssa

Link to comment
Share on other sites

Ψάχνοντας να καταλάβω τι εστί padding βρήκα το

παρακάτω (Hash functions and data integrity)

 

 

A hash input x of arbitrary finite length is divided into fixed-length r-bit blocks xi. This preprocessing typically involves appending extra bits (padding) as necessary to attain an overall bitlength which is a multiple of the blocklength r, and often includes (for security reasons – e.g., see Algorithm 9.26) a block or partial block indicating the bitlength of the unpadded input.

Link to comment
Share on other sites

λεμε padding τη διαδικασια που βάζεις το τελος ενος μηνυματος εναν '1' σε μια θεση και μηδενικα στις υπολοιπες κενες ακολουθοντας το μεγεθος του μηνυματος (εκφρασμενο σε 64 ή 128 bit) με σκοπο να γινει το μηνυμα πολλαπλασιο τιου 512 ή του 1024(αναλογα με τον hash αλγοριθμο που θες να κανεις). Αποτερως σκοπος η δημιουργια μιας hash τιμης του μηνυματος που πιστοποιει οτι δεν εχει αλλαξει απο καποιον κακοβουλο που το εκανε fish out the net και μετα forward στον κανονικο αποδεχεα....

 

η VHDL ειναι γλώσσα σχεδιασμού hardware(FPGA, ASIC, ktlp).

 

Το θεμα ειναι αρκετα εξηζητημενο και κανεις δεν περιγραφει στο ιντερνετ ή σε προτζεκτ ή σε δημοσιευσεις ή σε βιβλία ή σε διπλωματικες πως γινεται αυτο το κομματι. οταν λεμε δεν το περιγραφουν το μονο που κανουν ειναι να πετανε ενα ξερο "αυτο γινεται βαση του προτυπου FIPS-180-3" και τιποτα αλλο. Ολο αυτο επειδη ειναι time consuming να φτιαχτει και η πιστοποιηση της λειτουργια του hardware Που εχεις φτιαξει πολυ απλα δεν το χρειαζεσαι...

 

αυτα... :)

ευχαριστω για το ενδιαφερον σας :)

Link to comment
Share on other sites

  • 4 weeks later...

Γειά σου chryssa

Δεν ξέρω αν βρήκες ήδη αυτό που έψαχνες, αλλά θα σου αναφέρω κάποια

link που μπορεί να σε βοηθήσουν

 

http://www.iscturkey.org/2007/pdf/sozlu/10.pdf

"Design and FPGA Implementation of Hash

Processor"

 

Επίσης στο http://www.springerlink.com/content/w61887474166037m/

θα βρεις το abstract από την δημοσίευση "Implementation of the SHA-2 Hash Family Standard Using FPGAs" των Σκλάβου - Κουφοπαύλου (θα πρέπει να είσαι συνδρομητής για να κατεβάσεις όλο το άρθρο)

 

Ρίξε μια ματιά και στο http://portal.acm.org/citation.cfm?id=969266&dl=GUIDE&coll=GUIDE&CFID=57464555&CFTOKEN=19757190

 

γι'αυτό το άρθρο "The Design of a High Speed ASIC Unit for the Hash Function SHA-256 (384, 512)" (κι εδώ χρειάζεται subscribe)

Link to comment
Share on other sites

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε προκειμένου να αφήσετε κάποιο σχόλιο

Πρέπει να είστε μέλος για να μπορέσετε να αφήσετε κάποιο σχόλιο

Δημιουργία λογαριασμού

Κάντε μια δωρεάν εγγραφή στην κοινότητά μας. Είναι εύκολο!

Εγγραφή νέου λογαριασμού

Σύνδεση

Εάν έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
×
×
  • Create New...

Σημαντικό

Χρησιμοποιούμε cookies για να βελτιώνουμε το περιεχόμενο του website μας. Μπορείτε να τροποποιήσετε τις ρυθμίσεις των cookie, ή να δώσετε τη συγκατάθεσή σας για την χρήση τους.