SWCU192 November   2021 CC1312R7 , CC1352P7 , CC2652P7 , CC2652R7

 

  1.   1
    1.     2
    2.     3
    3.     4
    4.     5
    5.     6
  2.   7
    1.     8
    2.     9
    3.     10
      1.      11
        1.       12
        2.       13
        3.       14
        4.       15
      2.      16
        1.       17
        2.       18
        3.       19
      3.      20
      4.      21
      5.      22
        1.       23
        2.       24
      6.      25
      7.      26
      8.      27
        1.       28
        2.       29
        3.       30
        4.       31
      9.      32
      10.      33
      11.      34
      12.      35
      13.      36
        1.       37
          1.        38
          2.        39
          3.        40
          4.        41
        2.       42
  3.   43
    1.     44
    2.     45
    3.     46
      1.      47
      2.      48
      3.      49
      4.      50
      5.      51
      6.      52
    4.     53
      1.      54
      2.      55
      3.      56
      4.      57
    5.     58
      1.      59
      2.      60
        1.       61
        2.       62
        3.       63
        4.       64
        5.       65
        6.       66
        7.       67
        8.       68
        9.       69
        10.       70
        11.       71
        12.       72
        13.       73
        14.       74
        15.       75
        16.       76
        17.       77
        18.       78
        19.       79
        20.       80
        21.       81
    6.     82
      1.      83
      2.      84
      3.      85
    7.     86
      1.      87
      2.      88
        1.       89
        2.       90
          1.        91
          2.        92
          3.        93
        3.       94
        4.       95
        5.       96
        6.       97
          1.        98
          2.        99
          3.        100
        7.       101
      3.      102
        1.       103
          1.        104
    8.     105
      1.      106
      2.      107
      3.      108
    9.     109
      1.      110
      2.      111
      3.      112
      4.      113
      5.      114
  4.   115
    1.     116
  5.   117
    1.     118
    2.     119
      1.      120
      2.      121
        1.       122
        2.       123
      3.      124
      4.      125
      5.      126
      6.      127
      7.      128
  6.   129
    1.     130
      1.      131
      2.      132
      3.      133
      4.      134
      5.      135
      6.      136
      7.      137
        1.       138
        2.       139
    2.     140
      1.      141
      2.      142
      3.      143
      4.      144
    3.     145
      1.      146
      2.      147
        1.       148
    4.     149
      1.      150
      2.      151
        1.       152
        2.       153
        3.       154
    5.     155
      1.      156
      2.      157
        1.       158
        2.       159
        3.       160
    6.     161
    7.     162
      1.      163
      2.      164
  7.   165
    1.     166
    2.     167
      1.      168
        1.       169
      2.      170
        1.       171
        2.       172
        3.       173
    3.     174
      1.      175
        1.       176
        2.       177
      2.      178
        1.       179
        2.       180
        3.       181
        4.       182
        5.       183
        6.       184
        7.       185
        8.       186
      3.      187
      4.      188
        1.       189
          1.        190
          2.        191
          3.        192
        2.       193
          1.        194
        3.       195
          1.        196
    4.     197
    5.     198
    6.     199
    7.     200
    8.     201
    9.     202
    10.     203
  8.   204
    1.     205
    2.     206
    3.     207
      1.      208
    4.     209
      1.      210
        1.       211
      2.      212
        1.       213
    5.     214
      1.      215
        1.       216
      2.      217
        1.       218
        2.       219
        3.       220
      3.      221
    6.     222
      1.      223
      2.      224
      3.      225
      4.      226
      5.      227
    7.     228
      1.      229
        1.       230
        2.       231
        3.       232
      2.      233
      3.      234
    8.     235
      1.      236
      2.      237
      3.      238
  9.   239
    1.     240
    2.     241
      1.      242
        1.       243
        2.       244
        3.       245
      2.      246
      3.      247
      4.      248
    3.     249
      1.      250
      2.      251
        1.       252
        2.       253
        3.       254
    4.     255
    5.     256
      1.      257
      2.      258
      3.      259
      4.      260
    6.     261
    7.     262
      1.      263
      2.      264
  10.   265
    1.     266
    2.     267
    3.     268
    4.     269
    5.     270
    6.     271
    7.     272
      1.      273
      2.      274
  11.   275
    1.     276
      1.      277
      2.      278
    2.     279
      1.      280
        1.       281
      2.      282
        1.       283
          1.        284
        2.       285
      3.      286
        1.       287
        2.       288
        3.       289
        4.       290
        5.       291
        6.       292
        7.       293
        8.       294
        9.       295
        10.       296
        11.       297
        12.       298
        13.       299
  12.   300
    1.     301
    2.     302
      1.      303
    3.     304
    4.     305
      1.      306
  13.   307
    1.     308
    2.     309
      1.      310
      2.      311
    3.     312
    4.     313
      1.      314
      2.      315
      3.      316
    5.     317
      1.      318
      2.      319
      3.      320
        1.       321
        2.       322
      4.      323
        1.       324
          1.        325
        2.       326
          1.        327
        3.       328
      5.      329
        1.       330
        2.       331
        3.       332
        4.       333
        5.       334
      6.      335
        1.       336
        2.       337
        3.       338
        4.       339
        5.       340
    6.     341
      1.      342
      2.      343
    7.     344
      1.      345
      2.      346
        1.       347
        2.       348
        3.       349
      3.      350
        1.       351
        2.       352
          1.        353
          2.        354
          3.        355
        3.       356
          1.        357
        4.       358
          1.        359
          2.        360
      4.      361
        1.       362
        2.       363
          1.        364
        3.       365
          1.        366
          2.        367
          3.        368
          4.        369
        4.       370
          1.        371
        5.       372
          1.        373
        6.       374
          1.        375
      5.      376
        1.       377
        2.       378
        3.       379
          1.        380
          2.        381
            1.         382
          3.        383
            1.         384
            2.         385
              1.          386
              2.          387
              3.          388
              4.          389
              5.          390
              6.          391
              7.          392
              8.          393
            3.         394
            4.         395
            5.         396
    8.     397
      1.      398
        1.       399
        2.       400
      2.      401
    9.     402
      1.      403
  14.   404
    1.     405
    2.     406
    3.     407
      1.      408
      2.      409
      3.      410
      4.      411
    4.     412
      1.      413
    5.     414
    6.     415
    7.     416
    8.     417
    9.     418
      1.      419
        1.       420
        2.       421
    10.     422
      1.      423
      2.      424
      3.      425
  15.   426
    1.     427
    2.     428
    3.     429
      1.      430
      2.      431
      3.      432
      4.      433
        1.       434
        2.       435
      5.      436
      6.      437
        1.       438
        2.       439
        3.       440
        4.       441
        5.       442
        6.       443
      7.      444
      8.      445
      9.      446
      10.      447
    4.     448
      1.      449
      2.      450
        1.       451
        2.       452
        3.       453
    5.     454
      1.      455
  16.   456
    1.     457
    2.     458
    3.     459
      1.      460
      2.      461
        1.       462
        2.       463
        3.       464
        4.       465
        5.       466
      3.      467
      4.      468
    4.     469
      1.      470
      2.      471
      3.      472
      4.      473
      5.      474
    5.     475
      1.      476
  17.   477
    1.     478
    2.     479
      1.      480
      2.      481
      3.      482
        1.       483
      4.      484
    3.     485
      1.      486
      2.      487
      3.      488
    4.     489
      1.      490
  18.   491
    1.     492
    2.     493
    3.     494
    4.     495
      1.      496
  19.   497
    1.     498
    2.     499
    3.     500
    4.     501
    5.     502
      1.      503
      2.      504
      3.      505
    6.     506
      1.      507
        1.       508
        2.       509
        3.       510
          1.        511
          2.        512
    7.     513
      1.      514
  20.   515
    1.     516
      1.      517
    2.     518
      1.      519
        1.       520
      2.      521
        1.       522
        2.       523
      3.      524
      4.      525
    3.     526
      1.      527
        1.       528
        2.       529
        3.       530
        4.       531
      2.      532
        1.       533
          1.        534
        2.       535
          1.        536
          2.        537
        3.       538
          1.        539
        4.       540
          1.        541
          2.        542
          3.        543
        5.       544
        6.       545
        7.       546
        8.       547
        9.       548
        10.       549
    4.     550
      1.      551
        1.       552
      2.      553
        1.       554
        2.       555
          1.        556
          2.        557
          3.        558
          4.        559
          5.        560
      3.      561
        1.       562
        2.       563
        3.       564
      4.      565
        1.       566
        2.       567
          1.        568
          2.        569
          3.        570
      5.      571
        1.       572
        2.       573
          1.        574
          2.        575
          3.        576
          4.        577
            1.         578
            2.         579
          5.        580
          6.        581
        3.       582
          1.        583
          2.        584
          3.        585
            1.         586
            2.         587
            3.         588
            4.         589
          4.        590
      6.      591
        1.       592
        2.       593
      7.      594
        1.       595
        2.       596
          1.        597
          2.        598
          3.        599
          4.        600
          5.        601
            1.         602
              1.          603
            2.         604
              1.          605
            3.         606
              1.          607
          6.        608
    5.     609
      1.      610
        1.       611
        2.       612
      2.      613
        1.       614
        2.       615
          1.        616
          2.        617
          3.        618
          4.        619
          5.        620
          6.        621
          7.        622
          8.        623
      3.      624
        1.       625
        2.       626
          1.        627
          2.        628
          3.        629
          4.        630
      4.      631
        1.       632
        2.       633
          1.        634
          2.        635
          3.        636
            1.         637
            2.         638
      5.      639
        1.       640
        2.       641
          1.        642
          2.        643
          3.        644
            1.         645
            2.         646
            3.         647
          4.        648
            1.         649
            2.         650
            3.         651
            4.         652
          5.        653
          6.        654
      6.      655
        1.       656
        2.       657
          1.        658
          2.        659
          3.        660
          4.        661
          5.        662
    6.     663
      1.      664
        1.       665
        2.       666
          1.        667
            1.         668
            2.         669
      2.      670
      3.      671
      4.      672
      5.      673
      6.      674
      7.      675
    7.     676
    8.     677
      1.      678
      2.      679
      3.      680
      4.      681
      5.      682
      6.      683
      7.      684
      8.      685
      9.      686
      10.      687
      11.      688
      12.      689
  21.   690
    1.     691
    2.     692
    3.     693
      1.      694
  22.   695
    1.     696
    2.     697
    3.     698
    4.     699
      1.      700
      2.      701
      3.      702
      4.      703
        1.       704
        2.       705
          1.        706
          2.        707
      5.      708
      6.      709
      7.      710
    5.     711
    6.     712
    7.     713
      1.      714
  23.   715
    1.     716
    2.     717
    3.     718
    4.     719
      1.      720
      2.      721
        1.       722
        2.       723
      3.      724
      4.      725
        1.       726
        2.       727
          1.        728
          2.        729
        3.       730
        4.       731
        5.       732
        6.       733
        7.       734
    5.     735
    6.     736
    7.     737
      1.      738
  24.   739
    1.     740
    2.     741
    3.     742
      1.      743
        1.       744
        2.       745
        3.       746
        4.       747
        5.       748
      2.      749
        1.       750
      3.      751
        1.       752
        2.       753
      4.      754
      5.      755
        1.       756
        2.       757
    4.     758
    5.     759
      1.      760
  25.   761
    1.     762
    2.     763
    3.     764
    4.     765
      1.      766
        1.       767
      2.      768
      3.      769
      4.      770
        1.       771
      5.      772
        1.       773
      6.      774
        1.       775
      7.      776
        1.       777
      8.      778
        1.       779
        2.       780
    5.     781
      1.      782
      2.      783
      3.      784
      4.      785
        1.       786
        2.       787
        3.       788
    6.     789
      1.      790
      2.      791
      3.      792
      4.      793
    7.     794
    8.     795
      1.      796
      2.      797
    9.     798
      1.      799
  26.   800
    1.     801
      1.      802
    2.     803
      1.      804
      2.      805
      3.      806
        1.       807
        2.       808
        3.       809
      4.      810
        1.       811
        2.       812
        3.       813
    3.     814
      1.      815
      2.      816
        1.       817
        2.       818
        3.       819
        4.       820
        5.       821
          1.        822
          2.        823
          3.        824
        6.       825
          1.        826
        7.       827
          1.        828
          2.        829
          3.        830
          4.        831
        8.       832
      3.      833
        1.       834
          1.        835
          2.        836
          3.        837
          4.        838
          5.        839
          6.        840
          7.        841
          8.        842
          9.        843
          10.        844
          11.        845
          12.        846
          13.        847
          14.        848
        2.       849
          1.        850
          2.        851
          3.        852
          4.        853
          5.        854
          6.        855
          7.        856
          8.        857
          9.        858
          10.        859
          11.        860
          12.        861
          13.        862
          14.        863
          15.        864
          16.        865
          17.        866
          18.        867
          19.        868
          20.        869
      4.      870
        1.       871
        2.       872
        3.       873
        4.       874
        5.       875
    4.     876
      1.      877
        1.       878
        2.       879
        3.       880
        4.       881
        5.       882
      2.      883
        1.       884
        2.       885
    5.     886
      1.      887
        1.       888
        2.       889
        3.       890
        4.       891
      2.      892
      3.      893
        1.       894
        2.       895
      4.      896
        1.       897
          1.        898
            1.         899
            2.         900
          2.        901
          3.        902
          4.        903
          5.        904
        2.       905
        3.       906
        4.       907
        5.       908
        6.       909
      5.      910
        1.       911
        2.       912
        3.       913
        4.       914
        5.       915
        6.       916
    6.     917
      1.      918
        1.       919
          1.        920
        2.       921
        3.       922
        4.       923
      2.      924
    7.     925
      1.      926
      2.      927
    8.     928
      1.      929
      2.      930
      3.      931
      4.      932
      5.      933
      6.      934
      7.      935
      8.      936
        1.       937
        2.       938
        3.       939
        4.       940
      9.      941
        1.       942
        2.       943
        3.       944
      10.      945
        1.       946
        2.       947
        3.       948
        4.       949
        5.       950
      11.      951
        1.       952
        2.       953
        3.       954
        4.       955
        5.       956
      12.      957
      13.      958
      14.      959
      15.      960
      16.      961
      17.      962
    9.     963
      1.      964
    10.     965
      1.      966
      2.      967
        1.       968
          1.        969
        2.       970
        3.       971
      3.      972
      4.      973
        1.       974
        2.       975
      5.      976
        1.       977
        2.       978
          1.        979
        3.       980
          1.        981
          2.        982
        4.       983
          1.        984
          2.        985
        5.       986
          1.        987
          2.        988
          3.        989
      6.      990
        1.       991
        2.       992
    11.     993
      1.      994
      2.      995
      3.      996
  27.   997
Modular Exponentiation Operations

The sequencer controls modular exponentiation operations. Table 13-22 lists a summary of Modular Exponentiation (ExpMod) operations.

Table 13-22 ExpMod Operations
FunctionMathematical OperationVector AVector BVector CVector D
ExpMod-ACT2CA mod B → DExponent, length = A_LenModulus, length = B_LenBase, length = B_LenResult and workspace
ExpMod-ACT4
ExpMod-variable
ExpMod-CRT
(See the computation steps in the following list.)
Exp P followed by Exp Q at the next highest even-word address(1), both A_Len longMod P + buffer word followed by Mod Q at next highest even-word address(2), both B_Len longQ inverse, length = B_LenInput, result (both 2 × B_Len long), and workspace
If A_Len is even, Exp Q follows Exp P immediately—if A_Len is odd, there is one empty word between Exp Q and Exp P.
If B_Len is even, there are two empty words between Mod P and Mod Q—if B_Len is odd, there is one empty (buffer) word between Mod Q and Mod P. Note that the words following Mod P and Mod Q may be zeroed by Sequencer firmware.

The ExpMod-CRT operation performs the following computation steps:

  1. X ← (Input mod Mod P)Exp P mod Mod P
  2. Y ← (Input mod Mod Q)Exp Q mod Mod Q
  3. Z ← ({[(X – Y) mod Mod P] × Q inverse} mod Mod P) × Mod Q
  4. Result ← Y + Z

 

The ExpMod-ACT2, ExpMod-ACT4, and ExpMod-variable functions implement the same mathematical operation but with a differently sized table with precalculated odd-numbered powers. The ExpMod-ACT2 function uses a table with two entries, and the ExpMod-ACT4 function uses a table with eight entries. The ACT4 version provides better performance but requires more memory.

ExpMod-variable and ExpMod-CRT allow a variable amount (from 1 up to and including 16) of odd powers to be selected through the register that is normally used to specify the number of bits to shift for shift operations.

For a user of the PKA engine, the exponentiation functions appear to be extensions of the set of PKCP functions. Input and result vectors are passed the same as for basic PKCP operations.

Table 13-23 lists the restrictions on the input vector for ExpMod operations.

Table 13-23 Operational Restrictions
FunctionRequirements
ExpMod-ACT2
  1. 0 < A_Len ≤ Max_Len
  2. 1 < B_Len ≤ Max_Len
  3. Modulus B must be odd-numbered (that is, the LSB must be 1).
  4. Modulus B > 232
  5. Base C < Modulus B
  6. Vectors B and C must be followed by an empty 32-bit buffer word.
ExpMod-ACT4
ExpMod-variable
ExpMod-CRT
  1. 0 < A_Len ≤ Max_Len
  2. 1 < B_Len ≤ Max_Len
  3. Mod P and Mod Q must be odd-numbered (that is, the LSBs must be 1).
  4. Mod P > Mod Q > 232(1)
  5. Mod P and Mod Q must be coprime (their GCD must be 1).
  6. 0 < Exp P < (Mod P – 1)
  7. 0 < Exp Q < (Mod Q – 1)
  8. (Q inverse × Mod Q) = 1 (modulo Mod P)
  9. Input < (Mod P × Mod Q)
  10. Mod P and Mod Q must be followed by an empty 32-bit buffer word.
mod P must be larger than Mod Q

Table 13-24 lists the required scratchpad sizes for the exponentiation operations. The MLen in the table is the real modulus length (for Mod P in an ExpMod-CRT operation, for modulus B in other operations) in
32-bit words (that is, without trailing zero words at the end). If the last word of the modulus vector as given is nonzero, then MLen equals BLen.

Table 13-24 Result Vector and Scratchpad Area Memory Allocation (Starting at PKA_DPTR)
FunctionPKA Engine TypeScratchpad Area Size (32-Bit Words)(1)
ExpMod-ACT2With LNME3 × [M_Len + 2 – (M_Len MOD 2)] + 10
PKCP-only5 × (M_Len + 2)
ExpMod-ACT4With LNME9 × [M_Len + 2 – (M_Len MOD 2)]
PKCP-only11 × (M_Len + 2)
ExpMod-variableWith LNMEMaximum of 3 × [M_Len + 2 – (M_Len MOD 2)] + 10 and (odd-numbered powers + 1) × [M_Len + 2 – (M_Len MOD 2)]
PKCP-only(odd-numbered powers + 3) × (M_Len + 2)
ExpMod-CRTWith LNMEMaximum of 4 × [M_Len + 2 – (M_Len MOD 2)] + 10 and (odd-numbered powers + 2) × [M_Len + 2 – (M_Len MOD 2)]
PKCP-only(odd-numbered powers + 3) × (M_Len + 2) + [M_Len + 2 – (M_Len MOD 2)]
The result vector is M_Len or 2 × M_Len 32-bit words long.

Table 13-25 lists the result vector and input vector overlap restrictions.

Table 13-25 Overlap Restrictions of Result and Input Vectors
FunctionResult VectorRestrictions
ExpMod-ACT2DScratchpad area starting at D may not overlap with any of the other vectors, except that Base C may be colocated with result vector D to save space (that is, PKA_CPTR = PKA_CPTR is allowed).
ExpMod-ACT4
ExpMod-variable
ExpMod-CRTDScratchpad area starting at D may not overlap with any of the other vectors; this is also the location of the main input vector (with length 2 × B_Len).

For exponentiation operations, the minimum size of the PKA RAM depends on the maximum modulus length and the number of odd-numbered powers. In addition, a fixed number of bytes is required as scratchpad for the sequencer firmware during execution of the exponentiation; this scratchpad must be at the end of the PKA RAM.

  • The PKA RAM must be sized so the most often performed exponentiations can be done with four odd-numbered powers.
  • The A and B engines require a 4 kB PKA RAM. Although it is acceptable to run 2 kB exponentiations, these PKA engines will rarely run 4 kB exponentiations because these require a lot of time. A 2 kB PKA RAM suffices when the most frequently used modulus lengths are 1 kB and 2 kB operations, which do not need to run fast (4 kB operations are not possible with a 2 kB RAM size).

Table 13-26 depicts the RAM sizes required for exponentiation operations.

Table 13-26 Required RAM Sizes
Modulus Size
(Non-CRT)
One Odd-Numbered Power> One Odd-Numbered Power(1)
PKA_CPTR = PKA_DPTRPKA_CPTR ≠ PKA_DPTR
1024 bits808 bytes944 bytes+ 136 bytes per extra odd-numbered power
2048 bits1576 bytes1840 bytes+ 256 bytes per extra odd-numbered power
4096 bits3112 bytes3632 bytes+ 520 bytes per extra odd-numbered power
Scratchpad+ 34 bytes (fixed, at end of PKA RAM)
CRT ModuliOne Odd-Numbered Power> One odd-numbered Power(1)
2 × 512 bits696 bytes+ 72 bytes per extra odd-numbered power
2 × 1024 bits1336 bytes+ 136 bytes per extra odd-numbered power
2 × 2048 bits2616 bytes+ 264 bytes per extra odd-numbered power
Scratchpad+ 72 bytes (fixed, at end of PKA RAM)
Add to one odd-numbered power sizes.

Table 13-27 lists the maximum number of odd-numbered powers that can be used for different standard PKA RAM sizes and PKA engine types (non-CRT operations using PKA_CPTR = PKA_DPTR).

Table 13-27 Maximum Number of Odd-Numbered Powers
PKA Engine TypeOperationModulus and Exponent SizesMaximum Number of Odd-Numbered Powers for PKA RAM Sizes
1 kB2 kB4 kB8 kB
With LNMENon-CRT1024 bits4111616
2048 bitsNA41216
4096 bitsNANA412
CRT2 × 512 bits6161616
2 × 1024 bitsNA71616
2 × 2048 bitsNANA816
PKCP onlyNon-CRT1024 bits291616
2048 bitsNA21016
4096 bitsNANA210
CRT2 × 512 bits4161616
2 × 1024 bitsNA51616
2 × 2048 bitsNANA616

Table 13-28 lists example PKA RAM vector allocations for modular exponentiation operations with and without using CRT. The free space start address is the first free byte following the vector workspace. The sequencer execution scratchpad of 34 bytes (non-CRT) or 72 bytes (using CRT) must fit between the free space start address and the end of the PKA RAM.

Note:

The non-CRT operations use PKA_CPTR = PKA_DPTR to save space.

Table 13-28 Example PKA RAM Vector Allocations
Engine and Operation(sub-)VectorStart Address Byte OffsetSize (Words)Buffer (Words)
With LNME (-PExx), non-CRT
(ALENGTH = 0x040
BLENGTH = 0x040
four odd-numbered powers)
Exponent0x000(APTR = 0x000)640
Modulus0x100(BPTR = 0x040)642
Base0x208(CPTR = 0x082)642
Result0x208(DPTR = 0x082)642
Vector workspace0x208(= result)5 × (62 + 2 – 0) = 3300
Free space0x730(1840 bytes used)
PKCP only (-A and -B), non-CRT
(ALENGTH = 0x040
BLENGTH = 0x040
four odd-numbered powers)
Exponent0x000(APTR = 0x000)640
Modulus0x100(BPTR = 0x040)642
Base0x208(CPTR = 0x082)642
Result0x208(DPTR = 0x082)642
Vector workspace0x208(= result)7 × (64 + 2) = 4620
Free space0x940(2368 bytes used)
With LNME (-PExx),
using CRT
(ALENGTH = 0x020
BLENGTH = 0x020
four odd-numbered powers)
Exp P0x000(APTR = 0x000)320
Exp Q0x080320
Mod P0x100(BPTR = 0x040)322
Mod Q0x188322
Q inverse0x210(CPTR = 0x084)320
Input, result0x290(DPTR = 0x0A4)640
Vector workspace0x290(= result)6 × (32 + 2 – 0) = 2040
Free space0x5C0(1472 bytes used)
PKCP only (-A and -B), using CRT
(ALENGTH = 0x020
BLENGTH = 0x020
four odd-numbered powers)
Exp P0x000(APTR = 0x000)320
Exp Q0x080320
Mod P0x100(BPTR = 0x040)322
Mod Q0x188322
Q inverse0x210(CPTR = 0x084)320
Input, result0x290(DPTR = 0x0A4)640
Vector workspace0x290(= result)7 × (32 + 2) + 32 + 2 – 0 = 2720
Free space0x6D0(1744 bytes used)