aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJ08nY2023-02-16 19:09:49 +0100
committerJ08nY2023-02-16 19:09:49 +0100
commit6f99cb164eba8c9da6aa2e7e4caf448e94cc8896 (patch)
tree9d6b878a4ee373be5673931596a148005c556010
parent67a66b2b4206a1b50577ada3fbaad54901ace64c (diff)
downloadpyecsca-notebook-6f99cb164eba8c9da6aa2e7e4caf448e94cc8896.tar.gz
pyecsca-notebook-6f99cb164eba8c9da6aa2e7e4caf448e94cc8896.tar.zst
pyecsca-notebook-6f99cb164eba8c9da6aa2e7e4caf448e94cc8896.zip
Update measurement notebook to sync with API.
-rw-r--r--measurement.ipynb40
1 files changed, 26 insertions, 14 deletions
diff --git a/measurement.ipynb b/measurement.ipynb
index 8902a73..11c95b0 100644
--- a/measurement.ipynb
+++ b/measurement.ipynb
@@ -33,9 +33,9 @@
"metadata": {},
"outputs": [],
"source": [
- "from pyecsca.sca.scope.picoscope_sdk import PS5000Scope\n",
+ "from pyecsca.sca.scope.picoscope_sdk import PS6000Scope\n",
"\n",
- "scope = PS5000Scope()\n",
+ "scope = PS6000Scope()\n",
"scope.open()\n",
"print(scope.get_variant())"
]
@@ -53,8 +53,8 @@
"metadata": {},
"outputs": [],
"source": [
- "scope.setup_channel(channel=\"A\", coupling=\"AC\", range=0.2, enable=True)\n",
- "scope.setup_channel(channel=\"B\", coupling=\"DC\", range=5.0, enable=True)"
+ "scope.setup_channel(channel=\"A\", coupling=\"AC\", range=0.2, offset=0.0, enable=True)\n",
+ "scope.setup_channel(channel=\"B\", coupling=\"DC\", range=5.0, offset=0.0, enable=True)"
]
},
{
@@ -71,7 +71,8 @@
"metadata": {},
"outputs": [],
"source": [
- "actual_frequency, samples = scope.setup_frequency(frequency=5_333_333, pretrig=500_000, posttrig=15_500_000)"
+ "actual_frequency, samples = scope.setup_frequency(frequency=6_400_000, pretrig=500_000, posttrig=15_500_000)\n",
+ "print(actual_frequency, samples)"
]
},
{
@@ -124,6 +125,7 @@
"mult = Multiplication.BASE\n",
"sqr = Squaring.BASE\n",
"red = Reduction.BARRETT\n",
+ "inv = Inversion.EULER\n",
"\n",
"model = ShortWeierstrassModel()\n",
"coords = model.coordinates[\"projective\"]\n",
@@ -133,8 +135,8 @@
"scalarmult = LTRMultiplier(add, dbl)\n",
"\n",
"config = DeviceConfiguration(model, coords, formulas, scalarmult, \n",
- "\t\t\t\t\t\t\t hash_type, mod_rand, mult, sqr, red,\n",
- "\t\t\t\t\t\t\t platform, True, True, True)\n",
+ " hash_type, mod_rand, mult, sqr, red,\n",
+ " inv, platform, True, True, True)\n",
"\n",
"tmpdir = tempfile.TemporaryDirectory()\n",
"directory, elf_file, hex_file, res = render_and_build(config, tmpdir.name)\n",
@@ -181,12 +183,20 @@
"from time import sleep, time\n",
"from pyecsca.codegen.client import Triggers\n",
"from pyecsca.sca.trace import Trace\n",
+ "from pyecsca.sca.scope import SampleType\n",
"from pyecsca.ec.params import get_params\n",
"params = get_params(\"secg\", \"secp128r1\", \"projective\")\n",
"\n",
+ "print(\"Connect\")\n",
"target.connect()\n",
+ "print(\"Set parameters\")\n",
"target.set_params(params)\n",
- "target.set_trigger(Triggers.add | Triggers.keygen)\n",
+ "print(\"Set trigger\")\n",
+ "target.set_trigger(Triggers.keygen)\n",
+ "print(\"Init PRNG\")\n",
+ "target.init_prng(b\"\\x12\\x23\")\n",
+ "\n",
+ "print(\"ARM scope\")\n",
"scope.arm()\n",
"sleep(5)\n",
"start = time()\n",
@@ -194,10 +204,12 @@
"end = time()\n",
"print(end - start)\n",
"scope.capture(10000)\n",
- "trace_data = scope.retrieve(\"A\")\n",
- "trig_data = scope.retrieve(\"B\")\n",
- "trace = Trace(trace_data, None, None)\n",
- "trig = Trace(trig_data / 3.3, None, None)\n",
+ "\n",
+ "print(\"Retrieve\")\n",
+ "trace = scope.retrieve(\"A\", SampleType.Volt)\n",
+ "trig = scope.retrieve(\"B\", SampleType.Volt)\n",
+ "\n",
+ "print(\"Disconnect\")\n",
"target.disconnect()\n",
"\n",
"print(priv)\n",
@@ -268,7 +280,7 @@
},
"hide_input": false,
"kernelspec": {
- "display_name": "Python 3",
+ "display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
@@ -282,7 +294,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.8.1"
+ "version": "3.10.9"
},
"latex_envs": {
"LaTeX_envs_menu_present": true,