aboutsummaryrefslogtreecommitdiff
path: root/slides/2019-side-channels/img/countermeasure.py
diff options
context:
space:
mode:
Diffstat (limited to 'slides/2019-side-channels/img/countermeasure.py')
-rwxr-xr-xslides/2019-side-channels/img/countermeasure.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/slides/2019-side-channels/img/countermeasure.py b/slides/2019-side-channels/img/countermeasure.py
new file mode 100755
index 0000000..dda0868
--- /dev/null
+++ b/slides/2019-side-channels/img/countermeasure.py
@@ -0,0 +1,18 @@
+#!/usr/bin/python
+
+def is_equal(s1, s2):
+ '''
+ Returns true if the strings s1 and s2 encode the same information.
+ '''
+ if len(s1) != len(s2):
+ return False
+
+ result = 0
+ for (x,y) in zip(s1,s2):
+ result |= ord(x) ^ ord(y)
+
+ return result == 0
+
+target, strs = "abc", [ "ab", "abc", "abcd", "bbc", "abe" ]
+for s in strs:
+ print("{} == {} ? {}".format(target,s,is_equal(target,s)))