Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated PASEVerifier Format to Match Spec. #15070

Merged

Conversation

emargolis
Copy link
Contributor

Problem

In the current SDK implementation the PASEVerifier format is (w0s, w1s).
The spec defines PASEVerifier on the device side should have (w0, L) format.
This is also the format that devices should store PASEVerifier in the persisted
memory.

Change overview

There are some minor changes to adjust to the new implementation.

Also updated test vectors and spake2p tool now generates PASEVerifier in a correct
format.

Testing

existing tests

In the current SDK implementation the PASEVerifier format is (w0s, w1s).
The spec defines PASEVerifier on the device side should have (w0, L) format.
This is also the format that devices should store PASEVerifier in the persisted
memory.

There are some minor changes to adjust to the new implementation.

Also updated test vectors and spake2p tool now generates PASEVerifier in a correct
format.
@github-actions
Copy link

github-actions bot commented Feb 11, 2022

PR #15070: Size comparison from e02fd60 to 60565ea

Increases (16 builds for esp32, linux, mbed, nrfconnect)
platform target config section e02fd60 60565ea change % change
esp32 all-clusters-app c3devkit (read/write) 1400098 1400114 16 0.0
.flash.rodata 198936 198968 32 0.0
m5stack (read/write) 465376 465384 8 0.0
.flash.rodata 226040 226072 32 0.0
linux chip-tool-ipv6only arm64 (read only) 8067340 8067964 624 0.0
(read/write) 341185 341201 16 0.0
.data.rel.ro 235544 235584 40 0.0
.rodata 433684 433700 16 0.0
.text 6904356 6904900 544 0.0
thermostat-no-ble arm64 .data.rel.ro 74960 74976 16 0.0
.rodata 132828 132860 32 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read/write) 2397200 2397552 352 0.0
.text 1359800 1360152 352 0.0
lighting-app CY8CPROTO_062_4343W+release (read/write) 2359024 2359376 352 0.0
.text 1321624 1321976 352 0.0
lock-app CY8CPROTO_062_4343W+release (read/write) 2322624 2322912 288 0.0
.text 1285224 1285512 288 0.0
shell CY8CPROTO_062_4343W+release (read/write) 2308052 2308340 288 0.0
.text 1270624 1270912 288 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 rodata 119908 119940 32 0.0
nrf52840dongle_nrf52840 rodata 118768 118800 32 0.0
nrf5340dk_nrf5340_cpuapp rodata 113148 113180 32 0.0
lock-app nrf52840dk_nrf52840 rodata 108652 108684 32 0.0
nrf5340dk_nrf5340_cpuapp rodata 101824 101856 32 0.0
pump-app nrf52840dk_nrf52840 rodata 107632 107664 32 0.0
pump-controller-app nrf52840dk_nrf52840 rodata 107304 107336 32 0.0
shell nrf52840dk_nrf52840 (read/write) 806207 806231 24 0.0
rodata 78948 78972 24 0.0
Decreases (30 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section e02fd60 60565ea change % change
cyw30739 light cyw930739m2evb_01 (read/write) 607654 607586 -68 -0.0
.app_xip_area 509132 509088 -44 -0.0
.bss 81220 81196 -24 -0.0
lock cyw930739m2evb_01 (read/write) 564358 564290 -68 -0.0
.app_xip_area 467404 467360 -44 -0.0
.bss 79692 79668 -24 -0.0
ota-requestor cyw930739m2evb_01 (read/write) 584586 584518 -68 -0.0
.app_xip_area 478376 478332 -44 -0.0
.bss 88620 88596 -24 -0.0
efr32 lighting-app BRD4161A (read only) 908240 908184 -56 -0.0
(read/write) 128976 128952 -24 -0.0
.bss 126944 126920 -24 -0.0
.text 908232 908176 -56 -0.0
BRD4161A+rpc (read only) 895700 895652 -48 -0.0
(read/write) 145636 145612 -24 -0.0
.bss 143504 143480 -24 -0.0
.text 895692 895644 -48 -0.0
window-app BRD4161A (read only) 843312 843272 -40 -0.0
(read/write) 127040 127016 -24 -0.0
.bss 125136 125112 -24 -0.0
.text 843304 843264 -40 -0.0
esp32 all-clusters-app c3devkit (read only) 943998 943924 -74 -0.0
.dram0.bss 68000 67976 -24 -0.0
.flash.text 943998 943924 -74 -0.0
m5stack (read only) 993855 993803 -52 -0.0
.dram0.bss 73144 73120 -24 -0.0
.flash.text 988471 988419 -52 -0.0
k32w light k32w061+release (read/write) 684248 684176 -72 -0.0
.bss 78248 78224 -24 -0.0
.text 598296 598248 -48 -0.0
lock k32w061+release (read/write) 689676 689604 -72 -0.0
.bss 78640 78616 -24 -0.0
.text 603288 603240 -48 -0.0
linux chip-tool-ipv6only arm64 .bss 51681 51665 -16 -0.0
thermostat-no-ble arm64 (read only) 2144508 2144428 -80 -0.0
(read/write) 142209 142193 -16 -0.0
.bss 59105 59073 -32 -0.1
.text 1793568 1793408 -160 -0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release .bss 190068 190044 -24 -0.0
lighting-app CY8CPROTO_062_4343W+release .bss 182680 182656 -24 -0.0
lock-app CY8CPROTO_062_4343W+release .bss 182568 182544 -24 -0.0
shell CY8CPROTO_062_4343W+release .bss 179820 179796 -24 -0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 1016535 1016503 -32 -0.0
bss 123004 122980 -24 -0.0
text 694720 694652 -68 -0.0
nrf52840dk_nrf52840+rpc (read/write) 985363 985179 -184 -0.0
bss 120192 120168 -24 -0.0
rodata 111272 111232 -40 -0.0
text 674332 674200 -132 -0.0
nrf52840dongle_nrf52840 (read/write) 1032343 1032311 -32 -0.0
bss 124392 124368 -24 -0.0
text 699308 699240 -68 -0.0
nrf5340dk_nrf5340_cpuapp (read/write) 923258 923194 -64 -0.0
bss 119568 119544 -24 -0.0
text 609756 609684 -72 -0.0
lock-app nrf52840dk_nrf52840 (read/write) 946343 946311 -32 -0.0
bss 121376 121352 -24 -0.0
text 637724 637652 -72 -0.0
nrf5340dk_nrf5340_cpuapp (read/write) 853822 853758 -64 -0.0
bss 117968 117944 -24 -0.0
text 553532 553456 -76 -0.0
pump-app nrf52840dk_nrf52840 (read/write) 945187 945027 -160 -0.0
bss 121096 121072 -24 -0.0
text 637780 637708 -72 -0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 941123 940947 -176 -0.0
bss 121100 121076 -24 -0.0
text 634020 633948 -72 -0.0
p6 all-clusters-app default (read/write) 2482640 2482584 -56 -0.0
.bss 119688 119664 -24 -0.0
.text 1440904 1440848 -56 -0.0
light-app default (read/write) 2389224 2389176 -48 -0.0
.bss 109336 109312 -24 -0.0
.text 1347488 1347440 -48 -0.0
lock-app default (read/write) 2352672 2352624 -48 -0.0
.bss 109056 109032 -24 -0.0
.text 1310936 1310888 -48 -0.0
qpg lighting-app qpg6105+debug (read only) 594276 594220 -56 -0.0
.bss 90520 90496 -24 -0.0
.text 588956 588900 -56 -0.0
lock-app qpg6105+debug (read only) 560028 559972 -56 -0.0
.bss 90504 90480 -24 -0.0
.text 554708 554652 -56 -0.0
telink lighting-app tlsr9518adk80d (read/write) 875506 875426 -80 -0.0
bss 90328 90304 -24 -0.0
text 613772 613690 -82 -0.0
Full report (34 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section e02fd60 60565ea change % change
cyw30739 light cyw930739m2evb_01 (read/write) 607654 607586 -68 -0.0
.app_xip_area 509132 509088 -44 -0.0
.bss 81220 81196 -24 -0.0
.data 644 644 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 564358 564290 -68 -0.0
.app_xip_area 467404 467360 -44 -0.0
.bss 79692 79668 -24 -0.0
.data 608 608 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor cyw930739m2evb_01 (read/write) 584586 584518 -68 -0.0
.app_xip_area 478376 478332 -44 -0.0
.bss 88620 88596 -24 -0.0
.data 552 552 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 908240 908184 -56 -0.0
(read/write) 128976 128952 -24 -0.0
.bss 126944 126920 -24 -0.0
.data 2032 2032 0 0.0
.text 908232 908176 -56 -0.0
BRD4161A+rpc (read only) 895700 895652 -48 -0.0
(read/write) 145636 145612 -24 -0.0
.bss 143504 143480 -24 -0.0
.data 2132 2132 0 0.0
.text 895692 895644 -48 -0.0
window-app BRD4161A (read only) 843312 843272 -40 -0.0
(read/write) 127040 127016 -24 -0.0
.bss 125136 125112 -24 -0.0
.data 1900 1900 0 0.0
.text 843304 843264 -40 -0.0
esp32 all-clusters-app c3devkit (read only) 943998 943924 -74 -0.0
(read/write) 1400098 1400114 16 0.0
.dram0.bss 68000 67976 -24 -0.0
.dram0.data 14268 14268 0 0.0
.flash.rodata 198936 198968 32 0.0
.flash.text 943998 943924 -74 -0.0
.iram0.text 62056 62056 0 0.0
m5stack (read only) 993855 993803 -52 -0.0
(read/write) 465376 465384 8 0.0
.dram0.bss 73144 73120 -24 -0.0
.dram0.data 34064 34064 0 0.0
.flash.rodata 226040 226072 32 0.0
.flash.text 988471 988419 -52 -0.0
.iram0.text 123399 123399 0 0.0
k32w light k32w061+release (read/write) 684248 684176 -72 -0.0
.bss 78248 78224 -24 -0.0
.data 1904 1904 0 0.0
.text 598296 598248 -48 -0.0
lock k32w061+release (read/write) 689676 689604 -72 -0.0
.bss 78640 78616 -24 -0.0
.data 1948 1948 0 0.0
.text 603288 603240 -48 -0.0
linux chip-tool-ipv6only arm64 (read only) 8067340 8067964 624 0.0
(read/write) 341185 341201 16 0.0
.bss 51681 51665 -16 -0.0
.data 1216 1216 0 0.0
.data.rel.ro 235544 235584 40 0.0
.dynamic 560 560 0 0.0
.got 48944 48944 0 0.0
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 433684 433700 16 0.0
.text 6904356 6904900 544 0.0
thermostat-no-ble arm64 (read only) 2144508 2144428 -80 -0.0
(read/write) 142209 142193 -16 -0.0
.bss 59105 59073 -32 -0.1
.data 1032 1032 0 0.0
.data.rel.ro 74960 74976 16 0.0
.dynamic 560 560 0 0.0
.got 4144 4144 0 0.0
.init 24 24 0 0.0
.init_array 328 328 0 0.0
.rodata 132828 132860 32 0.0
.text 1793568 1793408 -160 -0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2397200 2397552 352 0.0
.bss 190068 190044 -24 -0.0
.data 5320 5320 0 0.0
.text 1359800 1360152 352 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2359024 2359376 352 0.0
.bss 182680 182656 -24 -0.0
.data 5624 5624 0 0.0
.text 1321624 1321976 352 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2322624 2322912 288 0.0
.bss 182568 182544 -24 -0.0
.data 5600 5600 0 0.0
.text 1285224 1285512 288 0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1139648 1139648 0 0.0
.bss 11756 11756 0 0.0
.data 4368 4368 0 0.0
.text 103032 103032 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2308052 2308340 288 0.0
.bss 179820 179796 -24 -0.0
.data 5424 5424 0 0.0
.text 1270624 1270912 288 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 1016535 1016503 -32 -0.0
bss 123004 122980 -24 -0.0
rodata 119908 119940 32 0.0
text 694720 694652 -68 -0.0
nrf52840dk_nrf52840+rpc (read/write) 985363 985179 -184 -0.0
bss 120192 120168 -24 -0.0
rodata 111272 111232 -40 -0.0
text 674332 674200 -132 -0.0
nrf52840dongle_nrf52840 (read/write) 1032343 1032311 -32 -0.0
bss 124392 124368 -24 -0.0
rodata 118768 118800 32 0.0
text 699308 699240 -68 -0.0
nrf5340dk_nrf5340_cpuapp (read/write) 923258 923194 -64 -0.0
bss 119568 119544 -24 -0.0
rodata 113148 113180 32 0.0
text 609756 609684 -72 -0.0
lock-app nrf52840dk_nrf52840 (read/write) 946343 946311 -32 -0.0
bss 121376 121352 -24 -0.0
rodata 108652 108684 32 0.0
text 637724 637652 -72 -0.0
nrf5340dk_nrf5340_cpuapp (read/write) 853822 853758 -64 -0.0
bss 117968 117944 -24 -0.0
rodata 101824 101856 32 0.0
text 553532 553456 -76 -0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 527595 527595 0 0.0
bss 53632 53632 0 0.0
rodata 49976 49976 0 0.0
text 361016 361016 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 945187 945027 -160 -0.0
bss 121096 121072 -24 -0.0
rodata 107632 107664 32 0.0
text 637780 637708 -72 -0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 941123 940947 -176 -0.0
bss 121100 121076 -24 -0.0
rodata 107304 107336 32 0.0
text 634020 633948 -72 -0.0
shell nrf52840dk_nrf52840 (read/write) 806207 806231 24 0.0
bss 112376 112376 0 0.0
rodata 78948 78972 24 0.0
text 537304 537304 0 0.0
p6 all-clusters-app default (read/write) 2482640 2482584 -56 -0.0
.bss 119688 119664 -24 -0.0
.data 2672 2672 0 0.0
.text 1440904 1440848 -56 -0.0
light-app default (read/write) 2389224 2389176 -48 -0.0
.bss 109336 109312 -24 -0.0
.data 2520 2520 0 0.0
.text 1347488 1347440 -48 -0.0
lock-app default (read/write) 2352672 2352624 -48 -0.0
.bss 109056 109032 -24 -0.0
.data 2480 2480 0 0.0
.text 1310936 1310888 -48 -0.0
qpg lighting-app qpg6105+debug (read only) 594276 594220 -56 -0.0
(read/write) 146936 146936 0 0.0
.bss 90520 90496 -24 -0.0
.data 1108 1108 0 0.0
.text 588956 588900 -56 -0.0
lock-app qpg6105+debug (read only) 560028 559972 -56 -0.0
(read/write) 146936 146936 0 0.0
.bss 90504 90480 -24 -0.0
.data 1060 1060 0 0.0
.text 554708 554652 -56 -0.0
persistent-storage-app qpg6105+debug (read only) 99520 99520 0 0.0
(read/write) 146940 146940 0 0.0
.bss 24004 24004 0 0.0
.data 176 176 0 0.0
.text 94200 94200 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 875506 875426 -80 -0.0
bss 90328 90304 -24 -0.0
noinit 37160 37160 0 0.0
text 613772 613690 -82 -0.0

@andy31415 andy31415 merged commit dabb721 into project-chip:master Feb 11, 2022
mspang added a commit to mspang/connectedhomeip that referenced this pull request Feb 12, 2022
jamesluo11 pushed a commit to jamesluo11/connectedhomeip that referenced this pull request Apr 26, 2022
In the current SDK implementation the PASEVerifier format is (w0s, w1s).
The spec defines PASEVerifier on the device side should have (w0, L) format.
This is also the format that devices should store PASEVerifier in the persisted
memory.

There are some minor changes to adjust to the new implementation.

Also updated test vectors and spake2p tool now generates PASEVerifier in a correct
format.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants