Ράικος, ΙάσωνRaikos, Iason2026-06-302026-06-302026-06-30https://hdl.handle.net/10889/32150Οι κρυπτογραφικές λειτουργίες αποτελούν θεμέλιο κάθε σύγχρονης ασφαλούςεπικοινωνίας (HTTPS, VPN, ασφαλή συστήματα ανταλλαγής μηνυμάτων), αλλά είναι υπολογιστικά δαπανηρές. Σε διακομιστές υψηλής κίνησης, που εξυπηρετούν χιλιάδες ταυτόχρονες ασφαλείς συνδέσεις, η κρυπτογραφία μπορεί να καταναλώνει σημαντικό μέρος των πόρων της CPU και να μετατρέπεται σε σημείο συμφόρησης (bottleneck).Στην παρούσα διπλωματική εργασία υλοποιούμε σε CUDA τέσσερις βασικές οικογένειες κρυπτογραφικών αλγορίθμων, τον συμμετρικό αυθεντικοποιημένο αλγόριθμο AES-GCM, τον ChaCha20-Poly1305, τον ασύμμετρο RSA και κρυπτογραφία Ελλειπτικών Καμπυλών (ECC, συγκεκριμένα X25519 για ανταλλαγή κλειδιών και Ed25519 για ψηφιακές υπογραφές) και τις εκτελούμε μαζικά παράλληλα στη GPU. Για τους ασύμμετρους αλγορίθμους η αριθμητική πολλαπλής ακρίβειας υλοποιείται από εμάς εξ ολοκλήρου σε CUDA, χωρίς εξωτερική βιβλιοθήκη big-number, με το μοντέλο «μία κρυπτογραφική λειτουργία ανά νήμα» (one operation per thread) και μαζική παράλληλη εκτέλεση πολλών ανεξάρτητων λειτουργιών.Συγκρίνουμε τη ρυθμοαπόδοση (throughput) των υλοποιήσεών μας στη GPU με τις αντίστοιχες, εξαιρετικά βελτιστοποιημένες υλοποιήσεις CPU της βιβλιοθήκης OpenSSL (η οποία αξιοποιεί εντολές AES-NI). Η μεθοδολογία μέτρησης διαχωρίζει τον «καθαρό» χρόνο υπολογισμού στη GPU από τον συνολικό χρόνο του διοχετευτικού αγωγού (pipeline) που περιλαμβάνει τις μεταφορές μέσω PCIe, ενώ η ορθότητα κάθε υλοποίησης επαληθεύεται με επίσημα δοκιμαστικά διανύσματα και known-answer tests.Τα αποτελέσματα δείχνουν ότι, για τους συμμετρικούς αλγορίθμους, ο καθαρός υπολογισμός της GPU είναι έως ~4.3× ταχύτερος για ChaCha20-Poly1305 και ~1.3× για AES-GCM σε μεγάλα σύνολα δεδομένων, αλλά η ρυθμοαπόδοση στους δύο αυτούς από άκρο σε άκρο περιορίζεται από τη μεταφορά PCIe και παραμένει κάτω από εκείνη μιας πολυνηματικής CPU με AES-NI. Αντίθετα, στις ομαδοποιημένες (batched) λειτουργίες RSA/ECC η GPU αποδίδει έως ~15× για επαλήθευση Ed25519, ~10× για X25519, ~9.5× για υπογραφή Ed25519 και ~6× για κρυπτογράφηση RSA-2048, με τηναποκρυπτογράφηση RSA-2048 στο ~1.6×. Καταλήγουμε ότι η μεταφόρτωση (offloading) κρυπτογραφικών υπολογισμών στη GPU είναι βιώσιμη στρατηγική για φόρτους εργασίας υψηλής ρυθμοαπόδοσης, και σκιαγραφούμε μια αρχιτεκτονική «ομαδοποίησης-καιμεταφόρτωσης» για συστήματα όπως VPN ή ασφαλή συστήματα μηνυμάτων.elAttribution-NonCommercial-ShareAlike 3.0 GreeceΚρυπτογραφική επιτάχυνσηΚρυπτογραφική επιτάχυνση με GPUCryptographic acceleration with GPUCryptographic accelerationGPUCUDAAES-GCMChaCha20-Poly1305RSAECCX25519Ed25519ThroughputOpenSSLBatching