Skip to content

YannisDC/SDM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SDM Swift Package

A Swift implementation of SDM.

Based on: https://github.com/nfc-developer/sdm-backend

SPM License: MIT

Features

  • AES-128 encryption/decryption support
  • LRP (Leakage Resilient Primitive) encryption support
  • NXP NTAG 424 DNA SUN (Secure Unique NFC) implementation
  • Key diversification with UID-based and undiversified modes
  • CMAC (Cipher-based Message Authentication Code) calculation and verification
  • SDM (Secure Dynamic Message) URL parsing and processing
  • Comprehensive test suite with NXP AN12196 test vectors
  • Support for both PICC data and file data decryption
  • HMAC-SHA256 key derivation
  • Complete workflow for NFC tag authentication and data extraction

Installation

Add the following to your Package.swift dependencies:

.package(url: "https://github.com/YannisDC/SDM.git", from: "0.0.1")

Then add SDM as a dependency for your target:

.target(
    name: "YourApp",
    dependencies: ["SDM"]
)

Usage

import SDM

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Note: NTAG — is a trademark of NXP B.V.

Note: This GitHub project is not affiliated with NXP B.V. in any way. Product names are mentioned here in order to inform about compatibility.

About

A Swift implementation of SDM.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages