Skip to main content

An SDK for cross-platform identity authentication and end-to-end encrypted communication based on DID

Project description

Cross-Platform Identity Authentication and End-to-End Encrypted Communication Technology Based on DID

Author: Chang Gaowei
Email: chgaowei@gmail.com
Website: pi-unlimited.com
中文版本: 中文版本readme

Abstract

This project is an open-source SDK implementation based on Decentralized Identifier (DID) and end-to-end encrypted communication technology. For technical details, refer to the Technical White Paper: A Cross-Platform Identity Authentication and End-to-End Encrypted Communication Technology Based on DID. With the didall open-source project, any intelligent agent or server can connect to the DID server, register its DID, accept connections from other users, connect to other users, and engage in end-to-end encrypted communication.

Features

  • Cross-Platform Identity Authentication: Achieves identity interoperability across different platforms using DID.
  • End-to-End Encrypted Communication: Uses ECDHE for short-term key agreement to ensure communication security.
  • Efficient and Secure: Simplifies the identity verification process, ensuring data confidentiality and integrity.

Installation

The latest version has been removed from PyPI, so install directly:

pip install didall

Usage

After installing the didall library, you can run the sample code in the examples directory to generate DID files for Alice and Bob, save Alice's DID file to the DID server, and then have Bob connect to Alice's DID for end-to-end encrypted communication.

  1. Generate two DID documents, alice.json and bob.json, save them to the specified files, and register them with the DID server:
python sample_did.py alice.json
python sample_did.py bob.json
  1. Start Alice's demo:
python sample_alice.py alice.json
  1. Start Bob's demo:
python sample_bob.py bob.json

By checking the logs, you can see that Alice and Bob have successfully connected and engaged in end-to-end encrypted communication.

Contributing

Contributions to this project are welcome. Please read the contribution guidelines before submitting a pull request.

License

This project is open-sourced under the MIT License. For more details, please refer to the LICENSE file.

Packaging and Uploading (update the version number in setup.py first)

python setup.py sdist bdist_wheel 
twine upload dist/*        

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

didall-0.1.5.tar.gz (30.3 kB view details)

Uploaded Source

Built Distribution

didall-0.1.5-py3-none-any.whl (39.6 kB view details)

Uploaded Python 3

File details

Details for the file didall-0.1.5.tar.gz.

File metadata

  • Download URL: didall-0.1.5.tar.gz
  • Upload date:
  • Size: 30.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for didall-0.1.5.tar.gz
Algorithm Hash digest
SHA256 28c8539cbf5c659fd44669e48f8315107260fc3cb7e95cd9d06035f9c4f79ef9
MD5 f4a6c0e1511ed92f2368cc00f11e7082
BLAKE2b-256 fc6554df1af137365050738d51da5c1099957a7c80dc72066e0592d344fd8987

See more details on using hashes here.

File details

Details for the file didall-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: didall-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 39.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for didall-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 cad41a160b16f9a9099801196921ecc4b7ea0858c283105b57bca2fb978ba802
MD5 1d44c61c03618f482ffc33d672214c6a
BLAKE2b-256 be0236755ed817fc31e13167cfbf4a12d735006cbfaa1ff87fae147f09e0a054

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page