PointyCastle: A Guide

A description of PointyCastle, with lots of explanation and (small) code snippets!

PointyCastle is one of the most-used packages in all of Dart. And yet, there hasn't been a good explanation of how it works internally, and how to use it. This site hopes to make it a bit clearer to the general audience how PointyCastle functions internally. Before we dive in fully, I'm going to go through some CAQs (commonly asked questions). If you want to skip these, click the page link below.

Internal Algorithms

What is PointyCastle? How did it originate?

PointyCastle, formerly known as Cipher, is a port of BouncyCastle to Dart. It reimplements cryptographic primitives (algorithms) for use in the Dart language. Late last year, the authors of the BouncyCastle project agreed to take over maintenance on this repository.

Is [...] covered by PointyCastle?

If you need a specific algorithm, there's a chance that it's not available. However, to my knowledge, PointyCastle covers every general cryptographic use case.

How come you don't have [...], which BouncyCastle has?

The port is NOT complete. If you have an algorithm you'd like to request for implementation, raise an issue at the PointyCastle repository.

Where's the documentation? I'm struggling to figure this out.

If all goes well, this website should be enough to get you started.

Of course, if you have further questions, please feel free to raise an issue at the PointyCastle repository.

On that note, let's get started. Go ahead and click the link below to navigate to the next page.

Last updated