| 586 | } |
| 587 | |
| 588 | uint64_t keeloq_normal_learning(uint32_t data, const uint64_t key) { |
| 589 | uint32_t k1, k2; |
| 590 | |
| 591 | data &= 0x0FFFFFFF; |
| 592 | data |= 0x20000000; |
| 593 | k1 = keeloq_decrypt(data, key); |
| 594 | |
| 595 | data &= 0x0FFFFFFF; |
| 596 | data |= 0x60000000; |
| 597 | k2 = keeloq_decrypt(data, key); |
| 598 | |
| 599 | return ((uint64_t)k2 << 32) | k1; |
| 600 | } |
no test coverage detected