// See file LICENSE for more information.

part of api;

/// All algorithms defined by Pointy Castle inherit from this class.
abstract class Algorithm {
  /// Get this algorithm's standard name.
  String get algorithmName;
}
