POSThttps://decrypt.nikola-lab.cn/openapi/v1/decrypt/task/create/mfkey32(Create MFKey32 decryption task)
MFKey32 has v1 and v2 versions, both of which implement decryption using the same algorithm, with only differences in the parameters passed in. Within the PM3 community, MFKey32 is suitable for detection tools such as chameleon
- MFKey32_V1 is an algorithm used by older versions of chameleon and most low performance detectors (or CPU simulated detection cards). Its characteristic is that the plaintext random number returned is fixed, and is the same no matter how many times it is collected. Therefore, this algorithm only needs to pass in the NT parameter once.
- MFKey32_v2 is a relatively new version of the algorithm used in chameleon (or extended products) that can simulate whole cards. This algorithm requires the return of plaintext random numbers to be "variable random numbers" rather than fixed "random values".
The above description is the characteristic between the two versions of the algorithm. Therefore, assuming that you need to perform MFKey32 decryption for version v1, you only need to fill in the NT value in the core parameter with the same value
| Parameter Name | Parameter Type | Value Type | Note |
|---|---|---|---|
| uid | body | string | The uint32 value of the valid part of the card number is converted into a string, please refer to Chapter 10.1.3 |
| keyA | body | boolean | Are you decrypting key A |
| block | body | string | The block currently being decrypted has a maximum of 255 and a minimum of 0. uint8 value to string conversion |
| cores | body | object | The core decryption parameter object contains two objects, 'core1' and 'core2', with the same structure. Please refer to the description below |
'core1' & 'core2' (Structure Definition)
| Parameter Name | Parameter Type | Value Type | Note |
|---|---|---|---|
| nt | body | string | uint32 to string conversion |
| nr | body | string | uint32 to string conversion |
| ar | body | string | uint32 to string conversion |
Request Data Example
json
{
"uid": "305419896",
"keyA": true,
"block": "0",
"cores": {
"core1": {
"nt": "450420523",
"nr": "489775140",
"ar": "1645146184"
},
"core2": {
"nt": "819383047",
"nr": "3307239394",
"ar": "2205861402"
}
}
}Response Data
| Parameter Name | Parameter Type | Value Type | Note |
|---|---|---|---|
| uuid | body | string | The UUID of the task, You can call the Query based on this UUID |
Response data example
json
{"uuid": "b2733132-ed10-4f0d-a803-449299c5dbde"}