PB173 Domain specific development: side-channel analysis Seminar 6: Finalizing on First Steps Łukasz Chmielewski chmiel@fi.muni.cz, Consultation: A406 Friday 9:00-11:00 SHORT EXAMPLE 2 Guessing entropy/Key rank 3 Guessing entropy in the wild 4 Conclusion • That is all ☺ • Last week DPA actually worked – We looked at 0th byte instead of first • If we have time we will look at another notebook today (see IS) 5 ORGANIZATIONAL 6 Final Division • Group 1: Tomas Re, Tomas Ro, Martin – Topic: Visualization – GitHub repository: https://github.com/reznakt/pb173-sca-visualization • Group 2: Michael T, Lubomir, Richard – Topic: Standard Processing, Michael might touch also “Parallel computations with acquisition” – The group is 3 people since Vendelín left. – GitHub repository: https://github.com/LubJur/PB173_standard_signal_processing • Group 3: Michal, Matus, Filip – Topic: Align – GitHub repository: https://github.com/mr-akiio/trs-alignment 7 Reminder: Colloquium • To get the colloquium – You must be present at seminars (2 absences OK) – You must be active at seminars (+2 points given by me at the end) – You must submit and get: • 50%: 7 points in total (projects + presentation + activity = 14 points) 9 (Modified) Seminars Plan • 7: today, no points • 8: evaluation of first steps given last week: 3 points per group (personalized per person based on Github activity) + Giving new tasks • 9: Checking Progress: helping & trying to run your tools • 10: 4 points per group (personalized per person based on GitHub) + a short 5-10minuts progress presentation (1 point) + Giving new tasks • 11: Checking Progress [Online] • 12: Final seminar: final short 5-10minuts presentation (1 point) & grading + grading (2 points for final tasks) + 2 points for activity. 10 WHAT WAS DONE + GIVING NEW TASKS 12 Group 1: Standard Signal Processing • First Tasks: – Implement easy modules: average, standard deviation, histogram, absolute value, – You can have a look at SaveAs.py and correlation.py – Try to implement computing spectrum, some inspiration: https://realpython.com/python-scipy-fft/ • GitHub: 13 Group 1: Main Goals • Main Tasks: – Spectrogram – Incremental Correlation: https://eprint.iacr.org/2022/253.pdf – Pipelining – Signal-To-Noise Ratio and other metrics 14 Group 2: Visualization • First Tasks: implement displaying traces using 2-3 different libraries – Matplotlib, bokeh, search for more – Someone did some work on that. Have a look here, but it might be chaotic: https://github.com/nilswiersma/pywf/tree/master • GitHub: 15 Group 2: Main Goals • I assume that displaying traces works – Multiple traces? • Main Tasks: – Efficiency analysis compared to Matplotlib – Moving traces around? – Selecting part of the trace to run something (any code)? – Try another library? 16 Group 3: Alignment • First tasks: – investigate cross-correlations in python – See all the uploaded scripts – Especially SaveAs.py and correlation.py • GitHub: are disabled so I cannot see statistics. Please enable it! However: 17 Group 3: Main Goals • I assume that some alignments works • Main Tasks: – Finish Peak-based and Correlation-Based Alignments – Improve Efficiency – Two from: • Trace alignment algorithm for suppressing the clock jitter, see pages 45-50 of: https://ged.biu- montpellier.fr/florabium/jsp/win_main_biu.jsp?nnt=2014MON20039 &success=%2Fjsp%2Fwin_main_biu.jsp&profile=anonymous • Elastic alignment algorithm or • Round Based Alignment 18 Parallel computations with acquisition • Michael • ? 19 WALK-AROUND + GRADING 20 CHIPWHISPER? 21 Reading • For interested people • Side-Channel Analysis – blue book: – http://dpabook.iaik.tugraz.at/ – The books is available at the uni. – Look online • The Hardware Hacking Handbook: – https://nostarch.com/hardwarehacking – I have an epub version. 22 23 | PA193 - Programming in the presence of side-channels / faults Questions