-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathindex.html
445 lines (374 loc) · 210 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
<html>
<head>
<meta charset="utf-8">
<script src="lib/bindings/utils.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/vis-network/9.1.2/dist/dist/vis-network.min.css" integrity="sha512-WgxfT5LWjfszlPHXRmBWHkV2eceiWTOBvrKCNbdgDYTHrT2AeLCGbF4sZlZw3UMN3WtL0tGUoIAKsu8mllg/XA==" crossorigin="anonymous" referrerpolicy="no-referrer" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/vis-network/9.1.2/dist/vis-network.min.js" integrity="sha512-LnvoEWDFrqGHlHmDD2101OrLcbsfkrzoSpvtSQtxK3RMnRV0eOkhhBN2dXHKRrUU8p2DGRTk35n4O8nWSVe1mQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<link href="lib/tom-select/tom-select.css" rel="stylesheet">
<script src="lib/tom-select/tom-select.complete.min.js"></script>
<center>
<h1></h1>
</center>
<!-- <link rel="stylesheet" href="../node_modules/vis/dist/vis.min.css" type="text/css" />
<script type="text/javascript" src="../node_modules/vis/dist/vis.js"> </script>-->
<link
href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"
rel="stylesheet"
integrity="sha384-eOJMYsd53ii+scO/bJGFsiCZc+5NDVN2yr8+0RDqr0Ql0h+rP48ckxlpbzKgwra6"
crossorigin="anonymous"
/>
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"
integrity="sha384-JEW9xMcG8R+pH31jmWH6WWP0WintQrMb4s7ZOdauHnUtxwoG2vI5DkLtS3qm9Ekf"
crossorigin="anonymous"
></script>
<center>
<h1></h1>
</center>
<style type="text/css">
#mynetwork {
width: 100%;
height: 960px;
background-color: #ffffff;
border: 1px solid lightgray;
position: relative;
float: left;
}
#loadingBar {
position:absolute;
top:0px;
left:0px;
width: 100%;
height: 960px;
background-color:rgba(200,200,200,0.8);
-webkit-transition: all 0.5s ease;
-moz-transition: all 0.5s ease;
-ms-transition: all 0.5s ease;
-o-transition: all 0.5s ease;
transition: all 0.5s ease;
opacity:1;
}
#bar {
position:absolute;
top:0px;
left:0px;
width:20px;
height:20px;
margin:auto auto auto auto;
border-radius:11px;
border:2px solid rgba(30,30,30,0.05);
background: rgb(0, 173, 246); /* Old browsers */
box-shadow: 2px 0px 4px rgba(0,0,0,0.4);
}
#border {
position:absolute;
top:10px;
left:10px;
width:500px;
height:23px;
margin:auto auto auto auto;
box-shadow: 0px 0px 4px rgba(0,0,0,0.2);
border-radius:10px;
}
#text {
position:absolute;
top:8px;
left:530px;
width:30px;
height:50px;
margin:auto auto auto auto;
font-size:22px;
color: #000000;
}
div.outerBorder {
position:relative;
top:400px;
width:600px;
height:44px;
margin:auto auto auto auto;
border:8px solid rgba(0,0,0,0.1);
background: rgb(252,252,252); /* Old browsers */
background: -moz-linear-gradient(top, rgba(252,252,252,1) 0%, rgba(237,237,237,1) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(252,252,252,1)), color-stop(100%,rgba(237,237,237,1))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, rgba(252,252,252,1) 0%,rgba(237,237,237,1) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, rgba(252,252,252,1) 0%,rgba(237,237,237,1) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, rgba(252,252,252,1) 0%,rgba(237,237,237,1) 100%); /* IE10+ */
background: linear-gradient(to bottom, rgba(252,252,252,1) 0%,rgba(237,237,237,1) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fcfcfc', endColorstr='#ededed',GradientType=0 ); /* IE6-9 */
border-radius:72px;
box-shadow: 0px 0px 10px rgba(0,0,0,0.2);
}
#config {
float: left;
width: 400px;
height: 600px;
}
</style>
</head>
<body>
<div class="card" style="width: 100%">
<div id="filter-menu" class="card-header">
<div class="row no-gutters">
<div class="col-3 pb-2">
<select
class="form-select"
aria-label="Default select example"
onchange="updateFilter(value, 'item')"
id="select-item"
>
<option value="">Select a network item</option>
<option value="edge">edge</option>
<option value="node">node</option>
</select>
</div>
<div class="col-3 pb-2">
<select
class="form-select"
aria-label="Default select example"
onchange="updateFilter(value, 'property')"
id="select-property"
>
<option value="">Select a property...</option>
</select>
</div>
<div class="col-3 pb-2">
<select
class="form-select"
aria-label="Default select example"
id="select-value"
>
<option value="">Select value(s)...</option>
</select>
</div>
<div class="col-1 pb-2">
<button type="button" class="btn btn-primary btn-block" onclick="highlightFilter(filter);">Filter</button>
</div>
<div class="col-2 pb-2">
<button type="button" class="btn btn-primary btn-block" onclick="clearFilter(true)">Reset Selection</button>
</div>
</div>
</div>
<div id="mynetwork" class="card-body"></div>
</div>
<div id="loadingBar">
<div class="outerBorder">
<div id="text">0%</div>
<div id="border">
<div id="bar"></div>
</div>
</div>
</div>
<div id="config"></div>
<script type="text/javascript">
// initialize global variables.
var edges;
var nodes;
var allNodes;
var allEdges;
var nodeColors;
var originalNodes;
var network;
var container;
var options, data;
var filter = {
item : '',
property : '',
value : []
};
// explicitly using onItemAdd and this function as we need to save multiple values
let updateValueFilter = function() {
return function () {
filter['value'].push(arguments[0])
}
}
let valueControl = new TomSelect("#select-value",{
maxItems: null,
valueField: 'id',
labelField: 'title',
searchField: 'title',
create: false,
sortField: {
field: "text",
direction: "asc"
},
onItemAdd: updateValueFilter()
});
let addValues = function() {
return function () {
// clear the current value options and add the selected attribute values
// tom-select handles duplicates
let selectedProperty = arguments[0];
valueControl.clear();
valueControl.clearOptions();
filter['value'] = []
if (filter['item'] === 'node') {
for (let each in allNodes) {
valueControl.addOption({
id:allNodes[each][selectedProperty],
title:allNodes[each][selectedProperty]
})
}
}
else if (filter['item'] === 'edge') {
for (let each in allEdges) {
valueControl.addOption({
id:allEdges[each][selectedProperty],
title:allEdges[each][selectedProperty]
})
}
}
}
};
let propControl = new TomSelect("#select-property",{
valueField: 'id',
labelField: 'title',
searchField: 'title',
create: false,
sortField: {
field: "text",
direction: "asc"
},
onItemAdd: addValues()
});
let addProperties = function() {
return function () {
// loops through the selected network item and adds the attributes to dropdown
// tom-select handles duplicates
clearFilter(false)
if (arguments[0] === 'edge') {
for (let each in allEdges) {
if (allEdges.hasOwnProperty(each)) {
for (let eachProp in allEdges[each]) {
if (allEdges[each].hasOwnProperty(eachProp)) {
propControl.addOption({id: eachProp, title: eachProp})
}
}
}
}
}
else if (arguments[0] === 'node') {
for (let each in allNodes) {
if (allNodes.hasOwnProperty(each)) {
for (let eachProp in allNodes[each]) {
if (allNodes[each].hasOwnProperty(eachProp)
&& (eachProp !== 'hidden' && eachProp !== 'savedLabel'
&& eachProp !== 'hiddenLabel')) {
propControl.addOption({id: eachProp, title: eachProp})
}
}
}
}
}
}
};
let itemControl = new TomSelect("#select-item",{
create: false,
sortField:{
field: "text",
direction: "asc"
},
onItemAdd: addProperties()
});
function clearFilter(reset) {
// utility function to clear all the selected filter options
// if reset is set to true, the existing filter will be removed
// else, only the dropdown options are cleared
propControl.clear();
propControl.clearOptions();
valueControl.clear();
valueControl.clearOptions();
filter = {
item : '',
property : '',
value : []
}
if (reset) {
itemControl.clear();
filterHighlight({nodes: []})
}
}
function updateFilter(value, key) {
// key could be 'item' or 'property' and value is as selected in dropdown
filter[key] = value
}
// This method is responsible for drawing the graph, returns the drawn network
function drawGraph() {
var container = document.getElementById('mynetwork');
// parsing and collecting nodes and edges from the python
nodes = new vis.DataSet([{"color": "#eb4034", "id": "org.bouncycastle.pqc.crypto.frodo.FrodoKEMExtractor", "label": "org.bouncycastle.pqc.crypto.frodo.FrodoKEMExtractor", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.pqc.crypto.frodo.FrodoKEMExtractor\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.macs.CBCBlockCipherMac", "label": "org.bouncycastle.crypto.macs.CBCBlockCipherMac", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.macs.CBCBlockCipherMac\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher, int)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher, int, org.bouncycastle.crypto.paddings.BlockCipherPadding)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher, org.bouncycastle.crypto.paddings.BlockCipherPadding)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.macs.BlockCipherMac", "label": "org.bouncycastle.crypto.macs.BlockCipherMac", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.macs.BlockCipherMac\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher, int)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.signers.ECGOST3410Signer", "label": "org.bouncycastle.crypto.signers.ECGOST3410Signer", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.signers.ECGOST3410Signer\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.SHA1Digest", "label": "org.bouncycastle.crypto.digests.SHA1Digest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.SHA1Digest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.signers.SM2Signer", "label": "org.bouncycastle.crypto.signers.SM2Signer", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.signers.SM2Signer\n \u2022 \u003cinit\u003e()\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.Digest)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.signers.DSAEncoding, org.bouncycastle.crypto.Digest)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.signers.DSAEncoding)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.signers.ISO9796d2Signer", "label": "org.bouncycastle.crypto.signers.ISO9796d2Signer", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.signers.ISO9796d2Signer\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.AsymmetricBlockCipher, org.bouncycastle.crypto.Digest)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.AsymmetricBlockCipher, org.bouncycastle.crypto.Digest, boolean)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.RFC5649WrapEngine", "label": "org.bouncycastle.crypto.engines.RFC5649WrapEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.RFC5649WrapEngine\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.params.ParametersWithSBox", "label": "org.bouncycastle.crypto.params.ParametersWithSBox", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.params.ParametersWithSBox\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.CipherParameters, byte[])\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.SHA3Digest", "label": "org.bouncycastle.crypto.digests.SHA3Digest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.SHA3Digest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "java.security.SecureRandom", "label": "java.security.SecureRandom", "shape": "dot", "title": "[ENTRY-POINT]\nType: java.security.SecureRandom\n \u2022 \u003cinit\u003e(byte[])\n \u2022 setSeed(byte[])\n \u2022 setSeed(long)\n"}, {"color": "#97c2fc", "id": "java.security.KeyPairGenerator", "label": "java.security.KeyPairGenerator", "shape": "dot", "title": "[DEPENDING RULE]\nType: java.security.KeyPairGenerator\n \u2022 initialize(int)\n \u2022 getInstance(java.lang.String, java.lang.String)\n \u2022 getInstance(java.lang.String)\n \u2022 getInstance(java.lang.String, java.security.Provider)\n \u2022 initialize(int, java.security.SecureRandom)\n \u2022 initialize(java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom)\n \u2022 initialize(java.security.spec.AlgorithmParameterSpec)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.PhotonBeetleEngine", "label": "org.bouncycastle.crypto.engines.PhotonBeetleEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.PhotonBeetleEngine\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.engines.PhotonBeetleEngine$PhotonBeetleParameters)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.RC564Engine", "label": "org.bouncycastle.crypto.engines.RC564Engine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.RC564Engine\n \u2022 \u003cinit\u003e()\n \u2022 newInstance()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.signers.DSASigner", "label": "org.bouncycastle.crypto.signers.DSASigner", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.signers.DSASigner\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.NonMemoableDigest", "label": "org.bouncycastle.crypto.digests.NonMemoableDigest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.NonMemoableDigest\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.Digest)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.RC532Engine", "label": "org.bouncycastle.crypto.engines.RC532Engine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.RC532Engine\n \u2022 newInstance()\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.ARIAEngine", "label": "org.bouncycastle.crypto.engines.ARIAEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.ARIAEngine\n \u2022 \u003cinit\u003e()\n \u2022 newInstance()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.signers.PSSSigner", "label": "org.bouncycastle.crypto.signers.PSSSigner", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.signers.PSSSigner\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.AsymmetricBlockCipher, org.bouncycastle.crypto.Digest, byte[])\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.AsymmetricBlockCipher, org.bouncycastle.crypto.Digest, org.bouncycastle.crypto.Digest, int, byte)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.AsymmetricBlockCipher, org.bouncycastle.crypto.Digest, int, byte)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.AsymmetricBlockCipher, org.bouncycastle.crypto.Digest, int)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.AsymmetricBlockCipher, org.bouncycastle.crypto.Digest, org.bouncycastle.crypto.Digest, byte[])\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.AsymmetricBlockCipher, org.bouncycastle.crypto.Digest, org.bouncycastle.crypto.Digest, int)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.AsymmetricBlockCipher, org.bouncycastle.crypto.Digest, org.bouncycastle.crypto.Digest, byte[], byte)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.RIPEMD160Digest", "label": "org.bouncycastle.crypto.digests.RIPEMD160Digest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.RIPEMD160Digest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.generators.KDF2BytesGenerator", "label": "org.bouncycastle.crypto.generators.KDF2BytesGenerator", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.generators.KDF2BytesGenerator\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.Digest)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.macs.CFBBlockCipherMac", "label": "org.bouncycastle.crypto.macs.CFBBlockCipherMac", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.macs.CFBBlockCipherMac\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher, org.bouncycastle.crypto.paddings.BlockCipherPadding)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher, int, int, org.bouncycastle.crypto.paddings.BlockCipherPadding)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher, int, int)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningKeyGenerationParameters", "label": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningKeyGenerationParameters", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningKeyGenerationParameters\n \u2022 \u003cinit\u003e(int, int, int, int, int, int, int, double, double, double, boolean, boolean, int, org.bouncycastle.crypto.Digest)\n \u2022 \u003cinit\u003e(int, int, int, int, int, double, double, double, boolean, boolean, int, org.bouncycastle.crypto.Digest)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.XoodyakEngine", "label": "org.bouncycastle.crypto.engines.XoodyakEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.XoodyakEngine\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUEncryptionParameters", "label": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUEncryptionParameters", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.pqc.legacy.crypto.ntru.NTRUEncryptionParameters\n \u2022 \u003cinit\u003e(int, int, int, int, int, int, int, int, int, int, boolean, byte[], boolean, boolean, org.bouncycastle.crypto.Digest)\n \u2022 \u003cinit\u003e(int, int, int, int, int, int, int, int, boolean, byte[], boolean, boolean, org.bouncycastle.crypto.Digest)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.modes.CFBBlockCipher", "label": "org.bouncycastle.crypto.modes.CFBBlockCipher", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.modes.CFBBlockCipher\n \u2022 newInstance(org.bouncycastle.crypto.BlockCipher, int)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher, int)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.agreement.ECMQVBasicAgreement", "label": "org.bouncycastle.crypto.agreement.ECMQVBasicAgreement", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.agreement.ECMQVBasicAgreement\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.generators.OpenSSLPBEParametersGenerator", "label": "org.bouncycastle.crypto.generators.OpenSSLPBEParametersGenerator", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.generators.OpenSSLPBEParametersGenerator\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.Digest)\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.ISAPDigest", "label": "org.bouncycastle.crypto.digests.ISAPDigest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.ISAPDigest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "javax.crypto.spec.DHPrivateKeySpec", "label": "javax.crypto.spec.DHPrivateKeySpec", "shape": "dot", "title": "[DEPENDING RULE]\nType: javax.crypto.spec.DHPrivateKeySpec\n \u2022 \u003cinit\u003e(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger)\n"}, {"color": "#97c2fc", "id": "java.security.KeyFactory", "label": "java.security.KeyFactory", "shape": "dot", "title": "[DEPENDING RULE]\nType: java.security.KeyFactory\n \u2022 generatePrivate(java.security.spec.KeySpec)\n \u2022 getInstance(java.lang.String, java.lang.String)\n \u2022 getInstance(java.lang.String, java.security.Provider)\n \u2022 getInstance(java.lang.String)\n \u2022 generatePublic(java.security.spec.KeySpec)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.ARIAWrapEngine", "label": "org.bouncycastle.crypto.engines.ARIAWrapEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.ARIAWrapEngine\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.SerpentEngine", "label": "org.bouncycastle.crypto.engines.SerpentEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.SerpentEngine\n \u2022 \u003cinit\u003e()\n \u2022 newInstance()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.AESEngine", "label": "org.bouncycastle.crypto.engines.AESEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.AESEngine\n \u2022 newInstance()\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.modes.G3413CFBBlockCipher", "label": "org.bouncycastle.crypto.modes.G3413CFBBlockCipher", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.modes.G3413CFBBlockCipher\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher, int)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.Shacal2Engine", "label": "org.bouncycastle.crypto.engines.Shacal2Engine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.Shacal2Engine\n \u2022 \u003cinit\u003e()\n \u2022 newInstance()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.CryptoProWrapEngine", "label": "org.bouncycastle.crypto.engines.CryptoProWrapEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.CryptoProWrapEngine\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "java.security.spec.ECPrivateKeySpec", "label": "java.security.spec.ECPrivateKeySpec", "shape": "dot", "title": "[DEPENDING RULE]\nType: java.security.spec.ECPrivateKeySpec\n \u2022 \u003cinit\u003e(java.math.BigInteger, java.security.spec.ECParameterSpec)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.signers.ECDSASigner", "label": "org.bouncycastle.crypto.signers.ECDSASigner", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.signers.ECDSASigner\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.Wrapper", "label": "org.bouncycastle.crypto.Wrapper", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.Wrapper\n \u2022 init(boolean, org.bouncycastle.crypto.CipherParameters)\n"}, {"color": "#eb4034", "id": "java.security.AlgorithmParameterGenerator", "label": "java.security.AlgorithmParameterGenerator", "shape": "dot", "title": "[ENTRY-POINT]\nType: java.security.AlgorithmParameterGenerator\n \u2022 getInstance(java.lang.String, java.security.Provider)\n \u2022 init(int)\n \u2022 init(java.security.spec.AlgorithmParameterSpec)\n \u2022 getInstance(java.lang.String)\n \u2022 init(int, java.security.SecureRandom)\n \u2022 init(java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom)\n \u2022 getInstance(java.lang.String, java.lang.String)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.RC2Engine", "label": "org.bouncycastle.crypto.engines.RC2Engine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.RC2Engine\n \u2022 \u003cinit\u003e()\n \u2022 newInstance()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.pqc.crypto.xmss.XMSSMTSigner", "label": "org.bouncycastle.pqc.crypto.xmss.XMSSMTSigner", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.pqc.crypto.xmss.XMSSMTSigner\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.IESEngine", "label": "org.bouncycastle.crypto.engines.IESEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.IESEngine\n \u2022 init(org.bouncycastle.crypto.params.AsymmetricKeyParameter, org.bouncycastle.crypto.CipherParameters, org.bouncycastle.crypto.KeyParser)\n \u2022 init(boolean, org.bouncycastle.crypto.CipherParameters, org.bouncycastle.crypto.CipherParameters, org.bouncycastle.crypto.CipherParameters)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BasicAgreement, org.bouncycastle.crypto.DerivationFunction, org.bouncycastle.crypto.Mac)\n \u2022 init(org.bouncycastle.crypto.params.AsymmetricKeyParameter, org.bouncycastle.crypto.CipherParameters, org.bouncycastle.crypto.generators.EphemeralKeyPairGenerator)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BasicAgreement, org.bouncycastle.crypto.DerivationFunction, org.bouncycastle.crypto.Mac, org.bouncycastle.crypto.BufferedBlockCipher)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.params.CramerShoupParameters", "label": "org.bouncycastle.crypto.params.CramerShoupParameters", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.params.CramerShoupParameters\n \u2022 \u003cinit\u003e(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, org.bouncycastle.crypto.Digest)\n"}, {"color": "#97c2fc", "id": "javax.crypto.SecretKeyFactory", "label": "javax.crypto.SecretKeyFactory", "shape": "dot", "title": "[DEPENDING RULE]\nType: javax.crypto.SecretKeyFactory\n \u2022 getInstance(java.lang.String, java.lang.String)\n \u2022 getInstance(java.lang.String)\n \u2022 getInstance(java.lang.String, java.security.Provider)\n \u2022 generateSecret(java.security.spec.KeySpec)\n \u2022 translateKey(javax.crypto.SecretKey)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.pqc.legacy.crypto.gmss.GMSSPrivateKeyParameters", "label": "org.bouncycastle.pqc.legacy.crypto.gmss.GMSSPrivateKeyParameters", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.pqc.legacy.crypto.gmss.GMSSPrivateKeyParameters\n \u2022 \u003cinit\u003e(byte[][], byte[][], byte[][][], byte[][][], byte[][][], org.bouncycastle.pqc.legacy.crypto.gmss.Treehash[][], org.bouncycastle.pqc.legacy.crypto.gmss.Treehash[][], java.util.Vector[], java.util.Vector[], java.util.Vector[][], java.util.Vector[][], org.bouncycastle.pqc.legacy.crypto.gmss.GMSSLeaf[], org.bouncycastle.pqc.legacy.crypto.gmss.GMSSLeaf[], org.bouncycastle.pqc.legacy.crypto.gmss.GMSSLeaf[], int[], byte[][], org.bouncycastle.pqc.legacy.crypto.gmss.GMSSRootCalc[], byte[][], org.bouncycastle.pqc.legacy.crypto.gmss.GMSSRootSig[], org.bouncycastle.pqc.legacy.crypto.gmss.GMSSParameters, org.bouncycastle.pqc.legacy.crypto.gmss.GMSSDigestProvider)\n \u2022 \u003cinit\u003e(byte[][], byte[][], byte[][][], byte[][][], org.bouncycastle.pqc.legacy.crypto.gmss.Treehash[][], org.bouncycastle.pqc.legacy.crypto.gmss.Treehash[][], java.util.Vector[], java.util.Vector[], java.util.Vector[][], java.util.Vector[][], byte[][], byte[][], org.bouncycastle.pqc.legacy.crypto.gmss.GMSSParameters, org.bouncycastle.pqc.legacy.crypto.gmss.GMSSDigestProvider)\n"}, {"color": "#eb4034", "id": "java.security.MessageDigest", "label": "java.security.MessageDigest", "shape": "dot", "title": "[ENTRY-POINT]\nType: java.security.MessageDigest\n \u2022 getInstance(java.lang.String)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.DESEngine", "label": "org.bouncycastle.crypto.engines.DESEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.DESEngine\n \u2022 newInstance()\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "javax.crypto.Cipher", "label": "javax.crypto.Cipher", "shape": "dot", "title": "[ENTRY-POINT]\nType: javax.crypto.Cipher\n \u2022 getInstance(java.lang.String, java.lang.String, java.security.Provider)\n \u2022 init(int, java.security.cert.Certificate, java.security.SecureRandom)\n \u2022 init(int, java.security.cert.Certificate)\n \u2022 init(int, java.security.Key, java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom)\n \u2022 init(int, java.security.Key, java.security.spec.AlgorithmParameterSpec)\n \u2022 getInstance(java.lang.String)\n \u2022 init(int, java.security.Key, java.security.SecureRandom)\n \u2022 init(int, java.security.Key)\n \u2022 wrap(java.security.Key)\n \u2022 init(int, java.security.Key, java.security.AlgorithmParameters)\n \u2022 init(int, java.security.Key, java.security.AlgorithmParameters, java.security.SecureRandom)\n \u2022 getInstance(java.lang.String, java.lang.String)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.SparkleEngine", "label": "org.bouncycastle.crypto.engines.SparkleEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.SparkleEngine\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.engines.SparkleEngine$SparkleParameters)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.GOST3412_2015Engine", "label": "org.bouncycastle.crypto.engines.GOST3412_2015Engine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.GOST3412_2015Engine\n \u2022 newInstance()\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.CamelliaLightEngine", "label": "org.bouncycastle.crypto.engines.CamelliaLightEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.CamelliaLightEngine\n \u2022 \u003cinit\u003e()\n \u2022 newInstance()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.Salsa20Engine", "label": "org.bouncycastle.crypto.engines.Salsa20Engine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.Salsa20Engine\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.encodings.OAEPEncoding", "label": "org.bouncycastle.crypto.encodings.OAEPEncoding", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.encodings.OAEPEncoding\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.AsymmetricBlockCipher, org.bouncycastle.crypto.Digest, byte[])\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.AsymmetricBlockCipher, org.bouncycastle.crypto.Digest, org.bouncycastle.crypto.Digest, byte[])\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.AsymmetricBlockCipher, org.bouncycastle.crypto.Digest)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.AsymmetricBlockCipher)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.paddings.ZeroBytePadding", "label": "org.bouncycastle.crypto.paddings.ZeroBytePadding", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.paddings.ZeroBytePadding\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.pqc.legacy.crypto.gmss.GMSSStateAwareSigner", "label": "org.bouncycastle.pqc.legacy.crypto.gmss.GMSSStateAwareSigner", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.pqc.legacy.crypto.gmss.GMSSStateAwareSigner\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.Digest)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.signers.DSTU4145Signer", "label": "org.bouncycastle.crypto.signers.DSTU4145Signer", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.signers.DSTU4145Signer\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "javax.crypto.spec.DESKeySpec", "label": "javax.crypto.spec.DESKeySpec", "shape": "dot", "title": "[DEPENDING RULE]\nType: javax.crypto.spec.DESKeySpec\n \u2022 \u003cinit\u003e(byte[], int)\n \u2022 \u003cinit\u003e(byte[])\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.RFC3394WrapEngine", "label": "org.bouncycastle.crypto.engines.RFC3394WrapEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.RFC3394WrapEngine\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher, boolean)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.pqc.jcajce.provider.gmss.BCGMSSPublicKey", "label": "org.bouncycastle.pqc.jcajce.provider.gmss.BCGMSSPublicKey", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.pqc.jcajce.provider.gmss.BCGMSSPublicKey\n \u2022 \u003cinit\u003e(byte[], org.bouncycastle.pqc.legacy.crypto.gmss.GMSSParameters)\n \u2022 \u003cinit\u003e(org.bouncycastle.pqc.legacy.crypto.gmss.GMSSPublicKeyParameters)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.CAST5Engine", "label": "org.bouncycastle.crypto.engines.CAST5Engine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.CAST5Engine\n \u2022 \u003cinit\u003e()\n \u2022 newInstance()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.ISAACEngine", "label": "org.bouncycastle.crypto.engines.ISAACEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.ISAACEngine\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "javax.crypto.KeyAgreement", "label": "javax.crypto.KeyAgreement", "shape": "dot", "title": "[DEPENDING RULE]\nType: javax.crypto.KeyAgreement\n \u2022 init(java.security.Key, java.security.SecureRandom)\n \u2022 getInstance(java.lang.String, java.security.Provider)\n \u2022 getInstance(java.lang.String, java.lang.String)\n \u2022 getInstance(java.lang.String)\n \u2022 init(java.security.Key, java.security.spec.AlgorithmParameterSpec)\n \u2022 init(java.security.Key)\n \u2022 init(java.security.Key, java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom)\n \u2022 generateSecret(java.lang.String)\n \u2022 generateSecret(byte[], int)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.params.ParametersWithUKM", "label": "org.bouncycastle.crypto.params.ParametersWithUKM", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.params.ParametersWithUKM\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.CipherParameters, byte[], int, int)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.CipherParameters, byte[])\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.SM4Engine", "label": "org.bouncycastle.crypto.engines.SM4Engine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.SM4Engine\n \u2022 newInstance()\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.AESFastEngine", "label": "org.bouncycastle.crypto.engines.AESFastEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.AESFastEngine\n \u2022 \u003cinit\u003e()\n \u2022 newInstance()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.modes.CTSBlockCipher", "label": "org.bouncycastle.crypto.modes.CTSBlockCipher", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.modes.CTSBlockCipher\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.Blake2spDigest", "label": "org.bouncycastle.crypto.digests.Blake2spDigest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.Blake2spDigest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.CAST6Engine", "label": "org.bouncycastle.crypto.engines.CAST6Engine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.CAST6Engine\n \u2022 newInstance()\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.pqc.crypto.DigestingMessageSigner", "label": "org.bouncycastle.pqc.crypto.DigestingMessageSigner", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.pqc.crypto.DigestingMessageSigner\n \u2022 \u003cinit\u003e(org.bouncycastle.pqc.crypto.MessageSigner, org.bouncycastle.crypto.Digest)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.params.IESWithCipherParameters", "label": "org.bouncycastle.crypto.params.IESWithCipherParameters", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.params.IESWithCipherParameters\n \u2022 \u003cinit\u003e(byte[], byte[], int, int)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.pqc.crypto.DigestingStateAwareMessageSigner", "label": "org.bouncycastle.pqc.crypto.DigestingStateAwareMessageSigner", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.pqc.crypto.DigestingStateAwareMessageSigner\n \u2022 \u003cinit\u003e(org.bouncycastle.pqc.crypto.StateAwareMessageSigner, org.bouncycastle.crypto.Digest)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.macs.Blake3Mac", "label": "org.bouncycastle.crypto.macs.Blake3Mac", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.macs.Blake3Mac\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.Zuc256Engine", "label": "org.bouncycastle.crypto.engines.Zuc256Engine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.Zuc256Engine\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimeKEMExtractor", "label": "org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimeKEMExtractor", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimeKEMExtractor\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.RC4Engine", "label": "org.bouncycastle.crypto.engines.RC4Engine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.RC4Engine\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.NaccacheSternEngine", "label": "org.bouncycastle.crypto.engines.NaccacheSternEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.NaccacheSternEngine\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.BufferedBlockCipher", "label": "org.bouncycastle.crypto.BufferedBlockCipher", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.BufferedBlockCipher\n \u2022 init(boolean, org.bouncycastle.crypto.CipherParameters)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.ChaCha7539Engine", "label": "org.bouncycastle.crypto.engines.ChaCha7539Engine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.ChaCha7539Engine\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.pqc.crypto.rainbow.RainbowSigner", "label": "org.bouncycastle.pqc.crypto.rainbow.RainbowSigner", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.pqc.crypto.rainbow.RainbowSigner\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.AsconXof", "label": "org.bouncycastle.crypto.digests.AsconXof", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.AsconXof\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.ThreefishEngine", "label": "org.bouncycastle.crypto.engines.ThreefishEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.ThreefishEngine\n \u2022 newInstance()\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.pqc.crypto.bike.BIKEKEMExtractor", "label": "org.bouncycastle.pqc.crypto.bike.BIKEKEMExtractor", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.pqc.crypto.bike.BIKEKEMExtractor\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.pqc.crypto.cmce.CMCEKEMExtractor", "label": "org.bouncycastle.pqc.crypto.cmce.CMCEKEMExtractor", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.pqc.crypto.cmce.CMCEKEMExtractor\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.modes.KGCMBlockCipher", "label": "org.bouncycastle.crypto.modes.KGCMBlockCipher", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.modes.KGCMBlockCipher\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.ShortenedDigest", "label": "org.bouncycastle.crypto.digests.ShortenedDigest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.ShortenedDigest\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.Digest, int)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.pqc.legacy.crypto.gmss.GMSSPublicKeyParameters", "label": "org.bouncycastle.pqc.legacy.crypto.gmss.GMSSPublicKeyParameters", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.pqc.legacy.crypto.gmss.GMSSPublicKeyParameters\n \u2022 \u003cinit\u003e(byte[], org.bouncycastle.pqc.legacy.crypto.gmss.GMSSParameters)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.pqc.crypto.picnic.PicnicSigner", "label": "org.bouncycastle.pqc.crypto.picnic.PicnicSigner", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.pqc.crypto.picnic.PicnicSigner\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.SM3Digest", "label": "org.bouncycastle.crypto.digests.SM3Digest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.SM3Digest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "java.security.spec.ECParameterSpec", "label": "java.security.spec.ECParameterSpec", "shape": "dot", "title": "[DEPENDING RULE]\nType: java.security.spec.ECParameterSpec\n \u2022 \u003cinit\u003e(java.security.spec.EllipticCurve, java.security.spec.ECPoint, java.math.BigInteger, int)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.encodings.ISO9796d1Encoding", "label": "org.bouncycastle.crypto.encodings.ISO9796d1Encoding", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.encodings.ISO9796d1Encoding\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.AsymmetricBlockCipher)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.IsapEngine", "label": "org.bouncycastle.crypto.engines.IsapEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.IsapEngine\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.engines.IsapEngine$IsapType)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.SM2Engine", "label": "org.bouncycastle.crypto.engines.SM2Engine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.SM2Engine\n \u2022 init(boolean, org.bouncycastle.crypto.CipherParameters)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.engines.SM2Engine$Mode)\n \u2022 \u003cinit\u003e()\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.Digest, org.bouncycastle.crypto.engines.SM2Engine$Mode)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.Digest)\n"}, {"color": "#97c2fc", "id": "java.security.spec.PSSParameterSpec", "label": "java.security.spec.PSSParameterSpec", "shape": "dot", "title": "[DEPENDING RULE]\nType: java.security.spec.PSSParameterSpec\n \u2022 \u003cinit\u003e(java.lang.String, java.lang.String, java.security.spec.AlgorithmParameterSpec, int, int)\n \u2022 \u003cinit\u003e(int)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.HC256Engine", "label": "org.bouncycastle.crypto.engines.HC256Engine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.HC256Engine\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.generators.KDFFeedbackBytesGenerator", "label": "org.bouncycastle.crypto.generators.KDFFeedbackBytesGenerator", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.generators.KDFFeedbackBytesGenerator\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.Mac)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.params.ParametersWithRandom", "label": "org.bouncycastle.crypto.params.ParametersWithRandom", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.params.ParametersWithRandom\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.CipherParameters)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.CipherParameters, java.security.SecureRandom)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.VMPCEngine", "label": "org.bouncycastle.crypto.engines.VMPCEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.VMPCEngine\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.DefaultBufferedBlockCipher", "label": "org.bouncycastle.crypto.DefaultBufferedBlockCipher", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.DefaultBufferedBlockCipher\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.SkeinDigest", "label": "org.bouncycastle.crypto.digests.SkeinDigest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.SkeinDigest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.CamelliaEngine", "label": "org.bouncycastle.crypto.engines.CamelliaEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.CamelliaEngine\n \u2022 newInstance()\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.macs.CMac", "label": "org.bouncycastle.crypto.macs.CMac", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.macs.CMac\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher, int)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.SHA512tDigest", "label": "org.bouncycastle.crypto.digests.SHA512tDigest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.SHA512tDigest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.GOST3411Digest", "label": "org.bouncycastle.crypto.digests.GOST3411Digest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.GOST3411Digest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.macs.HMac", "label": "org.bouncycastle.crypto.macs.HMac", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.macs.HMac\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.Digest)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.paddings.PaddedBufferedBlockCipher", "label": "org.bouncycastle.crypto.paddings.PaddedBufferedBlockCipher", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.paddings.PaddedBufferedBlockCipher\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher, org.bouncycastle.crypto.paddings.BlockCipherPadding)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.modes.KCTRBlockCipher", "label": "org.bouncycastle.crypto.modes.KCTRBlockCipher", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.modes.KCTRBlockCipher\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.signers.DSADigestSigner", "label": "org.bouncycastle.crypto.signers.DSADigestSigner", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.signers.DSADigestSigner\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.DSAExt, org.bouncycastle.crypto.Digest, org.bouncycastle.crypto.signers.DSAEncoding)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.DSA, org.bouncycastle.crypto.Digest)\n"}, {"color": "#97c2fc", "id": "java.security.spec.ECFieldFp", "label": "java.security.spec.ECFieldFp", "shape": "dot", "title": "[DEPENDING RULE]\nType: java.security.spec.ECFieldFp\n \u2022 \u003cinit\u003e(java.math.BigInteger)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.pqc.crypto.crystals.dilithium.DilithiumSigner", "label": "org.bouncycastle.pqc.crypto.crystals.dilithium.DilithiumSigner", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.pqc.crypto.crystals.dilithium.DilithiumSigner\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.signers.Ed25519phSigner", "label": "org.bouncycastle.crypto.signers.Ed25519phSigner", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.signers.Ed25519phSigner\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.Kangaroo$MarsupilamiFourteen", "label": "org.bouncycastle.crypto.digests.Kangaroo$MarsupilamiFourteen", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.Kangaroo$MarsupilamiFourteen\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.generators.HKDFBytesGenerator", "label": "org.bouncycastle.crypto.generators.HKDFBytesGenerator", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.generators.HKDFBytesGenerator\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.Digest)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.modes.G3413OFBBlockCipher", "label": "org.bouncycastle.crypto.modes.G3413OFBBlockCipher", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.modes.G3413OFBBlockCipher\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.pqc.crypto.ntru.NTRUKEMGenerator", "label": "org.bouncycastle.pqc.crypto.ntru.NTRUKEMGenerator", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.pqc.crypto.ntru.NTRUKEMGenerator\n \u2022 \u003cinit\u003e(java.security.SecureRandom)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.SHA384Digest", "label": "org.bouncycastle.crypto.digests.SHA384Digest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.SHA384Digest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.pqc.crypto.ntruprime.NTRULPRimeKEMExtractor", "label": "org.bouncycastle.pqc.crypto.ntruprime.NTRULPRimeKEMExtractor", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.pqc.crypto.ntruprime.NTRULPRimeKEMExtractor\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.StreamCipher", "label": "org.bouncycastle.crypto.StreamCipher", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.StreamCipher\n \u2022 init(boolean, org.bouncycastle.crypto.CipherParameters)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.macs.CMacWithIV", "label": "org.bouncycastle.crypto.macs.CMacWithIV", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.macs.CMacWithIV\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher, int)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.signers.X931Signer", "label": "org.bouncycastle.crypto.signers.X931Signer", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.signers.X931Signer\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.AsymmetricBlockCipher, org.bouncycastle.crypto.Digest)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.AsymmetricBlockCipher, org.bouncycastle.crypto.Digest, boolean)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.encodings.PKCS1Encoding", "label": "org.bouncycastle.crypto.encodings.PKCS1Encoding", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.encodings.PKCS1Encoding\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.AsymmetricBlockCipher, int)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.AsymmetricBlockCipher)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.AsymmetricBlockCipher, byte[])\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.pqc.crypto.sphincsplus.SPHINCSPlusSigner", "label": "org.bouncycastle.pqc.crypto.sphincsplus.SPHINCSPlusSigner", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.pqc.crypto.sphincsplus.SPHINCSPlusSigner\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUEncryptionPrivateKeyParameters", "label": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUEncryptionPrivateKeyParameters", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.pqc.legacy.crypto.ntru.NTRUEncryptionPrivateKeyParameters\n \u2022 \u003cinit\u003e(byte[], org.bouncycastle.pqc.legacy.crypto.ntru.NTRUEncryptionParameters)\n \u2022 \u003cinit\u003e(org.bouncycastle.pqc.legacy.math.ntru.polynomial.IntegerPolynomial, org.bouncycastle.pqc.legacy.math.ntru.polynomial.Polynomial, org.bouncycastle.pqc.legacy.math.ntru.polynomial.IntegerPolynomial, org.bouncycastle.pqc.legacy.crypto.ntru.NTRUEncryptionParameters)\n \u2022 \u003cinit\u003e(java.io.InputStream, org.bouncycastle.pqc.legacy.crypto.ntru.NTRUEncryptionParameters)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.kems.ECIESKEMExtractor", "label": "org.bouncycastle.crypto.kems.ECIESKEMExtractor", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.kems.ECIESKEMExtractor\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.params.ECPrivateKeyParameters, int, org.bouncycastle.crypto.DerivationFunction)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.params.ECPrivateKeyParameters, int, org.bouncycastle.crypto.DerivationFunction, boolean, boolean, boolean)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.params.ParametersWithSalt", "label": "org.bouncycastle.crypto.params.ParametersWithSalt", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.params.ParametersWithSalt\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.CipherParameters, byte[])\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.CipherParameters, byte[], int, int)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.modes.ChaCha20Poly1305", "label": "org.bouncycastle.crypto.modes.ChaCha20Poly1305", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.modes.ChaCha20Poly1305\n \u2022 \u003cinit\u003e()\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.Mac)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.macs.SipHash128", "label": "org.bouncycastle.crypto.macs.SipHash128", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.macs.SipHash128\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningPublicKeyParameters", "label": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningPublicKeyParameters", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningPublicKeyParameters\n \u2022 \u003cinit\u003e(java.io.InputStream, org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningParameters)\n \u2022 \u003cinit\u003e(byte[], org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningParameters)\n \u2022 \u003cinit\u003e(org.bouncycastle.pqc.legacy.math.ntru.polynomial.IntegerPolynomial, org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningParameters)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.modes.CBCBlockCipher", "label": "org.bouncycastle.crypto.modes.CBCBlockCipher", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.modes.CBCBlockCipher\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher)\n \u2022 newInstance(org.bouncycastle.crypto.BlockCipher)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.IDEAEngine", "label": "org.bouncycastle.crypto.engines.IDEAEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.IDEAEngine\n \u2022 \u003cinit\u003e()\n \u2022 newInstance()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.modes.G3413CTRBlockCipher", "label": "org.bouncycastle.crypto.modes.G3413CTRBlockCipher", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.modes.G3413CTRBlockCipher\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher, int)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.XTEAEngine", "label": "org.bouncycastle.crypto.engines.XTEAEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.XTEAEngine\n \u2022 \u003cinit\u003e()\n \u2022 newInstance()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.modes.G3413CBCBlockCipher", "label": "org.bouncycastle.crypto.modes.G3413CBCBlockCipher", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.modes.G3413CBCBlockCipher\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.pqc.crypto.gemss.GeMSSSigner", "label": "org.bouncycastle.pqc.crypto.gemss.GeMSSSigner", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.pqc.crypto.gemss.GeMSSSigner\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUEncryptionKeyParameters", "label": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUEncryptionKeyParameters", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.pqc.legacy.crypto.ntru.NTRUEncryptionKeyParameters\n \u2022 \u003cinit\u003e(boolean, org.bouncycastle.pqc.legacy.crypto.ntru.NTRUEncryptionParameters)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.pqc.crypto.saber.SABERParameters", "label": "org.bouncycastle.pqc.crypto.saber.SABERParameters", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.pqc.crypto.saber.SABERParameters\n \u2022 \u003cinit\u003e(java.lang.String, int, int, boolean, boolean)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.AsconEngine", "label": "org.bouncycastle.crypto.engines.AsconEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.AsconEngine\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.engines.AsconEngine$AsconParameters)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.pqc.crypto.lms.LMSSigner", "label": "org.bouncycastle.pqc.crypto.lms.LMSSigner", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.pqc.crypto.lms.LMSSigner\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "java.security.spec.ECFieldF2m", "label": "java.security.spec.ECFieldF2m", "shape": "dot", "title": "[DEPENDING RULE]\nType: java.security.spec.ECFieldF2m\n \u2022 \u003cinit\u003e(int, int[])\n \u2022 \u003cinit\u003e(int, java.math.BigInteger)\n \u2022 \u003cinit\u003e(int)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.SEEDEngine", "label": "org.bouncycastle.crypto.engines.SEEDEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.SEEDEngine\n \u2022 \u003cinit\u003e()\n \u2022 newInstance()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.signers.Ed448Signer", "label": "org.bouncycastle.crypto.signers.Ed448Signer", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.signers.Ed448Signer\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.pqc.crypto.saber.SABERKeyParameters", "label": "org.bouncycastle.pqc.crypto.saber.SABERKeyParameters", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.pqc.crypto.saber.SABERKeyParameters\n \u2022 \u003cinit\u003e(boolean, org.bouncycastle.pqc.crypto.saber.SABERParameters)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.GOST28147Engine", "label": "org.bouncycastle.crypto.engines.GOST28147Engine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.GOST28147Engine\n \u2022 newInstance()\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.paddings.TBCPadding", "label": "org.bouncycastle.crypto.paddings.TBCPadding", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.paddings.TBCPadding\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.RC2WrapEngine", "label": "org.bouncycastle.crypto.engines.RC2WrapEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.RC2WrapEngine\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningPrivateKeyParameters", "label": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningPrivateKeyParameters", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningPrivateKeyParameters\n \u2022 \u003cinit\u003e(java.util.List, org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningPublicKeyParameters)\n \u2022 \u003cinit\u003e(java.io.InputStream, org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningKeyGenerationParameters)\n \u2022 \u003cinit\u003e(byte[], org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningKeyGenerationParameters)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.BufferedAsymmetricBlockCipher", "label": "org.bouncycastle.crypto.BufferedAsymmetricBlockCipher", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.BufferedAsymmetricBlockCipher\n \u2022 init(boolean, org.bouncycastle.crypto.CipherParameters)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.AsymmetricBlockCipher)\n"}, {"color": "#97c2fc", "id": "java.security.spec.ECGenParameterSpec", "label": "java.security.spec.ECGenParameterSpec", "shape": "dot", "title": "[DEPENDING RULE]\nType: java.security.spec.ECGenParameterSpec\n \u2022 \u003cinit\u003e(java.lang.String)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.NullDigest", "label": "org.bouncycastle.crypto.digests.NullDigest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.NullDigest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.modes.GOFBBlockCipher", "label": "org.bouncycastle.crypto.modes.GOFBBlockCipher", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.modes.GOFBBlockCipher\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher)\n"}, {"color": "#97c2fc", "id": "javax.crypto.spec.DESedeKeySpec", "label": "javax.crypto.spec.DESedeKeySpec", "shape": "dot", "title": "[DEPENDING RULE]\nType: javax.crypto.spec.DESedeKeySpec\n \u2022 \u003cinit\u003e(byte[])\n \u2022 \u003cinit\u003e(byte[], int)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.pqc.crypto.lms.LMSContext", "label": "org.bouncycastle.pqc.crypto.lms.LMSContext", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.pqc.crypto.lms.LMSContext\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.modes.CCMBlockCipher", "label": "org.bouncycastle.crypto.modes.CCMBlockCipher", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.modes.CCMBlockCipher\n \u2022 newInstance(org.bouncycastle.crypto.BlockCipher)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.Mac", "label": "org.bouncycastle.crypto.Mac", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.Mac\n \u2022 init(org.bouncycastle.crypto.CipherParameters)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.generators.PKCS12ParametersGenerator", "label": "org.bouncycastle.crypto.generators.PKCS12ParametersGenerator", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.generators.PKCS12ParametersGenerator\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.Digest)\n"}, {"color": "#97c2fc", "id": "javax.crypto.KeyGenerator", "label": "javax.crypto.KeyGenerator", "shape": "dot", "title": "[DEPENDING RULE]\nType: javax.crypto.KeyGenerator\n \u2022 init(java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom)\n \u2022 getInstance(java.lang.String, java.lang.String)\n \u2022 getInstance(java.lang.String)\n \u2022 getInstance(java.lang.String, java.security.Provider)\n \u2022 init(int, java.security.SecureRandom)\n \u2022 init(java.security.spec.AlgorithmParameterSpec)\n \u2022 init(int)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.pqc.crypto.frodo.FrodoKEMGenerator", "label": "org.bouncycastle.pqc.crypto.frodo.FrodoKEMGenerator", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.pqc.crypto.frodo.FrodoKEMGenerator\n \u2022 \u003cinit\u003e(java.security.SecureRandom)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.modes.OCBBlockCipher", "label": "org.bouncycastle.crypto.modes.OCBBlockCipher", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.modes.OCBBlockCipher\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher, org.bouncycastle.crypto.BlockCipher)\n"}, {"color": "#eb4034", "id": "javax.net.ssl.SSLServerSocket", "label": "javax.net.ssl.SSLServerSocket", "shape": "dot", "title": "[ENTRY-POINT]\nType: javax.net.ssl.SSLServerSocket\n \u2022 setEnabledProtocols(java.lang.String[])\n \u2022 setSSLParameters(javax.net.ssl.SSLParameters)\n \u2022 setEnabledCipherSuites(java.lang.String[])\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.RIPEMD320Digest", "label": "org.bouncycastle.crypto.digests.RIPEMD320Digest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.RIPEMD320Digest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.ParallelHash", "label": "org.bouncycastle.crypto.digests.ParallelHash", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.ParallelHash\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.agreement.MQVBasicAgreement", "label": "org.bouncycastle.crypto.agreement.MQVBasicAgreement", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.agreement.MQVBasicAgreement\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.signers.Ed25519ctxSigner", "label": "org.bouncycastle.crypto.signers.Ed25519ctxSigner", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.signers.Ed25519ctxSigner\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "java.security.Signature", "label": "java.security.Signature", "shape": "dot", "title": "[ENTRY-POINT]\nType: java.security.Signature\n \u2022 verify()\n \u2022 getInstance(java.lang.String, java.security.Provider)\n \u2022 sign()\n \u2022 setParameter(java.security.spec.AlgorithmParameterSpec)\n \u2022 getInstance(java.lang.String, java.lang.String)\n \u2022 getInstance(java.lang.String)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.modes.AEADCipher", "label": "org.bouncycastle.crypto.modes.AEADCipher", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.modes.AEADCipher\n \u2022 init(boolean, org.bouncycastle.crypto.CipherParameters)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.modes.PaddedBlockCipher", "label": "org.bouncycastle.crypto.modes.PaddedBlockCipher", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.modes.PaddedBlockCipher\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.kems.RSAKEMGenerator", "label": "org.bouncycastle.crypto.kems.RSAKEMGenerator", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.kems.RSAKEMGenerator\n \u2022 \u003cinit\u003e(int, org.bouncycastle.crypto.DerivationFunction, java.security.SecureRandom)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.generators.PKCS5S1ParametersGenerator", "label": "org.bouncycastle.crypto.generators.PKCS5S1ParametersGenerator", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.generators.PKCS5S1ParametersGenerator\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.Digest)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.signers.ISO9796d2PSSSigner", "label": "org.bouncycastle.crypto.signers.ISO9796d2PSSSigner", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.signers.ISO9796d2PSSSigner\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.AsymmetricBlockCipher, org.bouncycastle.crypto.Digest, int)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.AsymmetricBlockCipher, org.bouncycastle.crypto.Digest, int, boolean)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.macs.ISO9797Alg3Mac", "label": "org.bouncycastle.crypto.macs.ISO9797Alg3Mac", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.macs.ISO9797Alg3Mac\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher, org.bouncycastle.crypto.paddings.BlockCipherPadding)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher, int, org.bouncycastle.crypto.paddings.BlockCipherPadding)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher, int)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.DSTU7624Engine", "label": "org.bouncycastle.crypto.engines.DSTU7624Engine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.DSTU7624Engine\n \u2022 \u003cinit\u003e()\n \u2022 newInstance()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.modes.KXTSBlockCipher", "label": "org.bouncycastle.crypto.modes.KXTSBlockCipher", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.modes.KXTSBlockCipher\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.signers.Ed448phSigner", "label": "org.bouncycastle.crypto.signers.Ed448phSigner", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.signers.Ed448phSigner\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.MessageSigner", "label": "org.bouncycastle.crypto.MessageSigner", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.MessageSigner\n \u2022 init(boolean, org.bouncycastle.crypto.CipherParameters)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.BasicAgreement", "label": "org.bouncycastle.crypto.BasicAgreement", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.BasicAgreement\n \u2022 init(org.bouncycastle.crypto.CipherParameters)\n"}, {"color": "#97c2fc", "id": "javax.crypto.spec.PBEKeySpec", "label": "javax.crypto.spec.PBEKeySpec", "shape": "dot", "title": "[DEPENDING RULE]\nType: javax.crypto.spec.PBEKeySpec\n \u2022 \u003cinit\u003e(char[])\n \u2022 \u003cinit\u003e(char[], byte[], int, int)\n \u2022 \u003cinit\u003e(char[], byte[], int)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.SHA256Digest", "label": "org.bouncycastle.crypto.digests.SHA256Digest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.SHA256Digest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.modes.OFBBlockCipher", "label": "org.bouncycastle.crypto.modes.OFBBlockCipher", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.modes.OFBBlockCipher\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher, int)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.Grainv1Engine", "label": "org.bouncycastle.crypto.engines.Grainv1Engine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.Grainv1Engine\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.generators.PKCS5S2ParametersGenerator", "label": "org.bouncycastle.crypto.generators.PKCS5S2ParametersGenerator", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.generators.PKCS5S2ParametersGenerator\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.Digest)\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.agreement.XDHBasicAgreement", "label": "org.bouncycastle.crypto.agreement.XDHBasicAgreement", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.agreement.XDHBasicAgreement\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.modes.PGPCFBBlockCipher", "label": "org.bouncycastle.crypto.modes.PGPCFBBlockCipher", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.modes.PGPCFBBlockCipher\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher, boolean)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.pqc.crypto.hqc.HQCKEMExtractor", "label": "org.bouncycastle.pqc.crypto.hqc.HQCKEMExtractor", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.pqc.crypto.hqc.HQCKEMExtractor\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "javax.crypto.spec.DHGenParameterSpec", "label": "javax.crypto.spec.DHGenParameterSpec", "shape": "dot", "title": "[DEPENDING RULE]\nType: javax.crypto.spec.DHGenParameterSpec\n \u2022 \u003cinit\u003e(int, int)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.Blake2bDigest", "label": "org.bouncycastle.crypto.digests.Blake2bDigest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.Blake2bDigest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.RC6Engine", "label": "org.bouncycastle.crypto.engines.RC6Engine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.RC6Engine\n \u2022 \u003cinit\u003e()\n \u2022 newInstance()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.pqc.crypto.crystals.kyber.KyberKEMExtractor", "label": "org.bouncycastle.pqc.crypto.crystals.kyber.KyberKEMExtractor", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.pqc.crypto.crystals.kyber.KyberKEMExtractor\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.modes.GCMBlockCipher", "label": "org.bouncycastle.crypto.modes.GCMBlockCipher", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.modes.GCMBlockCipher\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher, org.bouncycastle.crypto.modes.gcm.GCMMultiplier)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher)\n \u2022 newInstance(org.bouncycastle.crypto.BlockCipher, org.bouncycastle.crypto.modes.gcm.GCMMultiplier)\n \u2022 newInstance(org.bouncycastle.crypto.BlockCipher)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.TnepresEngine", "label": "org.bouncycastle.crypto.engines.TnepresEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.TnepresEngine\n \u2022 newInstance()\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "java.security.spec.DSAPrivateKeySpec", "label": "java.security.spec.DSAPrivateKeySpec", "shape": "dot", "title": "[DEPENDING RULE]\nType: java.security.spec.DSAPrivateKeySpec\n \u2022 \u003cinit\u003e(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.params.IESParameters", "label": "org.bouncycastle.crypto.params.IESParameters", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.params.IESParameters\n \u2022 \u003cinit\u003e(byte[], byte[], int)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.AESWrapEngine", "label": "org.bouncycastle.crypto.engines.AESWrapEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.AESWrapEngine\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUEncryptionPublicKeyParameters", "label": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUEncryptionPublicKeyParameters", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.pqc.legacy.crypto.ntru.NTRUEncryptionPublicKeyParameters\n \u2022 \u003cinit\u003e(byte[], org.bouncycastle.pqc.legacy.crypto.ntru.NTRUEncryptionParameters)\n \u2022 \u003cinit\u003e(org.bouncycastle.pqc.legacy.math.ntru.polynomial.IntegerPolynomial, org.bouncycastle.pqc.legacy.crypto.ntru.NTRUEncryptionParameters)\n \u2022 \u003cinit\u003e(java.io.InputStream, org.bouncycastle.pqc.legacy.crypto.ntru.NTRUEncryptionParameters)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.macs.SkeinMac", "label": "org.bouncycastle.crypto.macs.SkeinMac", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.macs.SkeinMac\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.macs.SkeinMac)\n \u2022 \u003cinit\u003e(int, int)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.SkipjackEngine", "label": "org.bouncycastle.crypto.engines.SkipjackEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.SkipjackEngine\n \u2022 \u003cinit\u003e()\n \u2022 newInstance()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.BlowfishEngine", "label": "org.bouncycastle.crypto.engines.BlowfishEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.BlowfishEngine\n \u2022 \u003cinit\u003e()\n \u2022 newInstance()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.AsymmetricBlockCipher", "label": "org.bouncycastle.crypto.AsymmetricBlockCipher", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.AsymmetricBlockCipher\n \u2022 init(boolean, org.bouncycastle.crypto.CipherParameters)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.DSTU7564Digest", "label": "org.bouncycastle.crypto.digests.DSTU7564Digest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.DSTU7564Digest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.KeccakDigest", "label": "org.bouncycastle.crypto.digests.KeccakDigest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.KeccakDigest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.pqc.crypto.ntruprime.NTRULPRimeKEMGenerator", "label": "org.bouncycastle.pqc.crypto.ntruprime.NTRULPRimeKEMGenerator", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.pqc.crypto.ntruprime.NTRULPRimeKEMGenerator\n \u2022 \u003cinit\u003e(java.security.SecureRandom)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.modes.SICBlockCipher", "label": "org.bouncycastle.crypto.modes.SICBlockCipher", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.modes.SICBlockCipher\n \u2022 newInstance(org.bouncycastle.crypto.BlockCipher)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.pqc.legacy.crypto.gmss.GMSSSigner", "label": "org.bouncycastle.pqc.legacy.crypto.gmss.GMSSSigner", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.pqc.legacy.crypto.gmss.GMSSSigner\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.pqc.legacy.crypto.gmss.GMSSParameters", "label": "org.bouncycastle.pqc.legacy.crypto.gmss.GMSSParameters", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.pqc.legacy.crypto.gmss.GMSSParameters\n \u2022 \u003cinit\u003e(int)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.params.AEADParameters", "label": "org.bouncycastle.crypto.params.AEADParameters", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.params.AEADParameters\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.params.KeyParameter, int, byte[])\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.params.KeyParameter, int, byte[], byte[])\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.generators.KDF1BytesGenerator", "label": "org.bouncycastle.crypto.generators.KDF1BytesGenerator", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.generators.KDF1BytesGenerator\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.Digest)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.SHA224Digest", "label": "org.bouncycastle.crypto.digests.SHA224Digest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.SHA224Digest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.paddings.ISO10126d2Padding", "label": "org.bouncycastle.crypto.paddings.ISO10126d2Padding", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.paddings.ISO10126d2Padding\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.macs.KGMac", "label": "org.bouncycastle.crypto.macs.KGMac", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.macs.KGMac\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.modes.KGCMBlockCipher, int)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.modes.KGCMBlockCipher)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.GOST28147WrapEngine", "label": "org.bouncycastle.crypto.engines.GOST28147WrapEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.GOST28147WrapEngine\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.macs.SipHash", "label": "org.bouncycastle.crypto.macs.SipHash", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.macs.SipHash\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.Signer", "label": "org.bouncycastle.crypto.Signer", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.Signer\n \u2022 init(boolean, org.bouncycastle.crypto.CipherParameters)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.Blake3Digest", "label": "org.bouncycastle.crypto.digests.Blake3Digest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.Blake3Digest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.macs.KMAC", "label": "org.bouncycastle.crypto.macs.KMAC", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.macs.KMAC\n \u2022 \u003cinit\u003e()\n \u2022 \u003cinit\u003e(int, byte[])\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.params.CramerShoupPrivateKeyParameters", "label": "org.bouncycastle.crypto.params.CramerShoupPrivateKeyParameters", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.params.CramerShoupPrivateKeyParameters\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.params.CramerShoupParameters, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.NoekeonEngine", "label": "org.bouncycastle.crypto.engines.NoekeonEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.NoekeonEngine\n \u2022 newInstance()\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.modes.KCCMBlockCipher", "label": "org.bouncycastle.crypto.modes.KCCMBlockCipher", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.modes.KCCMBlockCipher\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher, int)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.modes.EAXBlockCipher", "label": "org.bouncycastle.crypto.modes.EAXBlockCipher", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.modes.EAXBlockCipher\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.signers.Ed25519Signer", "label": "org.bouncycastle.crypto.signers.Ed25519Signer", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.signers.Ed25519Signer\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.Blake2bpDigest", "label": "org.bouncycastle.crypto.digests.Blake2bpDigest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.Blake2bpDigest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "javax.crypto.spec.SecretKeySpec", "label": "javax.crypto.spec.SecretKeySpec", "shape": "dot", "title": "[ENTRY-POINT]\nType: javax.crypto.spec.SecretKeySpec\n \u2022 \u003cinit\u003e(byte[], java.lang.String)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.generators.MGF1BytesGenerator", "label": "org.bouncycastle.crypto.generators.MGF1BytesGenerator", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.generators.MGF1BytesGenerator\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.Digest)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.Kangaroo$KangarooTwelve", "label": "org.bouncycastle.crypto.digests.Kangaroo$KangarooTwelve", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.Kangaroo$KangarooTwelve\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.pqc.crypto.crystals.kyber.KyberKEMGenerator", "label": "org.bouncycastle.pqc.crypto.crystals.kyber.KyberKEMGenerator", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.pqc.crypto.crystals.kyber.KyberKEMGenerator\n \u2022 \u003cinit\u003e(java.security.SecureRandom)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.GOST3411_2012_256Digest", "label": "org.bouncycastle.crypto.digests.GOST3411_2012_256Digest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.GOST3411_2012_256Digest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.agreement.ECDHBasicAgreement", "label": "org.bouncycastle.crypto.agreement.ECDHBasicAgreement", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.agreement.ECDHBasicAgreement\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningParameters", "label": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningParameters", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningParameters\n \u2022 \u003cinit\u003e(int, int, int, int, int, int, double, double, double, org.bouncycastle.crypto.Digest)\n \u2022 \u003cinit\u003e(int, int, int, int, double, double, org.bouncycastle.crypto.Digest)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.jce.provider.BrokenKDF2BytesGenerator", "label": "org.bouncycastle.jce.provider.BrokenKDF2BytesGenerator", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.jce.provider.BrokenKDF2BytesGenerator\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.Digest)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.RIPEMD128Digest", "label": "org.bouncycastle.crypto.digests.RIPEMD128Digest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.RIPEMD128Digest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.agreement.ECDHCStagedAgreement", "label": "org.bouncycastle.crypto.agreement.ECDHCStagedAgreement", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.agreement.ECDHCStagedAgreement\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.SHA512Digest", "label": "org.bouncycastle.crypto.digests.SHA512Digest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.SHA512Digest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.modes.GCMSIVBlockCipher", "label": "org.bouncycastle.crypto.modes.GCMSIVBlockCipher", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.modes.GCMSIVBlockCipher\n \u2022 \u003cinit\u003e()\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher, org.bouncycastle.crypto.modes.gcm.GCMMultiplier)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.agreement.kdf.DHKEKGenerator", "label": "org.bouncycastle.crypto.agreement.kdf.DHKEKGenerator", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.agreement.kdf.DHKEKGenerator\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.Digest)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.generators.KDFCounterBytesGenerator", "label": "org.bouncycastle.crypto.generators.KDFCounterBytesGenerator", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.generators.KDFCounterBytesGenerator\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.Mac)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.macs.GMac", "label": "org.bouncycastle.crypto.macs.GMac", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.macs.GMac\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.modes.GCMModeCipher, int)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.modes.GCMModeCipher)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.ARIAWrapPadEngine", "label": "org.bouncycastle.crypto.engines.ARIAWrapPadEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.ARIAWrapPadEngine\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.pqc.crypto.hqc.HQCKEMGenerator", "label": "org.bouncycastle.pqc.crypto.hqc.HQCKEMGenerator", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.pqc.crypto.hqc.HQCKEMGenerator\n \u2022 \u003cinit\u003e(java.security.SecureRandom)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.SEEDWrapEngine", "label": "org.bouncycastle.crypto.engines.SEEDWrapEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.SEEDWrapEngine\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.paddings.X923Padding", "label": "org.bouncycastle.crypto.paddings.X923Padding", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.paddings.X923Padding\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.MD4Digest", "label": "org.bouncycastle.crypto.digests.MD4Digest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.MD4Digest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.CSHAKEDigest", "label": "org.bouncycastle.crypto.digests.CSHAKEDigest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.CSHAKEDigest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.macs.DSTU7624Mac", "label": "org.bouncycastle.crypto.macs.DSTU7624Mac", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.macs.DSTU7624Mac\n \u2022 \u003cinit\u003e(int, int)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.LEAEngine", "label": "org.bouncycastle.crypto.engines.LEAEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.LEAEngine\n \u2022 newInstance()\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.VMPCKSA3Engine", "label": "org.bouncycastle.crypto.engines.VMPCKSA3Engine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.VMPCKSA3Engine\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "java.security.spec.EllipticCurve", "label": "java.security.spec.EllipticCurve", "shape": "dot", "title": "[DEPENDING RULE]\nType: java.security.spec.EllipticCurve\n \u2022 \u003cinit\u003e(java.security.spec.ECField, java.math.BigInteger, java.math.BigInteger)\n \u2022 \u003cinit\u003e(java.security.spec.ECField, java.math.BigInteger, java.math.BigInteger, byte[])\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.Blake2xsDigest", "label": "org.bouncycastle.crypto.digests.Blake2xsDigest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.Blake2xsDigest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.DSA", "label": "org.bouncycastle.crypto.DSA", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.DSA\n \u2022 init(boolean, org.bouncycastle.crypto.CipherParameters)\n"}, {"color": "#eb4034", "id": "javax.net.ssl.SSLContext", "label": "javax.net.ssl.SSLContext", "shape": "dot", "title": "[ENTRY-POINT]\nType: javax.net.ssl.SSLContext\n \u2022 getInstance(java.lang.String, java.security.Provider)\n \u2022 getInstance(java.lang.String, java.lang.String)\n \u2022 getInstance(java.lang.String)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.signers.ECNRSigner", "label": "org.bouncycastle.crypto.signers.ECNRSigner", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.signers.ECNRSigner\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.params.ParametersWithID", "label": "org.bouncycastle.crypto.params.ParametersWithID", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.params.ParametersWithID\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.CipherParameters, byte[])\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.BlockCipher", "label": "org.bouncycastle.crypto.BlockCipher", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.BlockCipher\n \u2022 init(boolean, org.bouncycastle.crypto.CipherParameters)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.Grain128Engine", "label": "org.bouncycastle.crypto.engines.Grain128Engine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.Grain128Engine\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.signers.ECGOST3410_2012Signer", "label": "org.bouncycastle.crypto.signers.ECGOST3410_2012Signer", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.signers.ECGOST3410_2012Signer\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.DESedeWrapEngine", "label": "org.bouncycastle.crypto.engines.DESedeWrapEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.DESedeWrapEngine\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.kems.ECIESKEMGenerator", "label": "org.bouncycastle.crypto.kems.ECIESKEMGenerator", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.kems.ECIESKEMGenerator\n \u2022 \u003cinit\u003e(int, org.bouncycastle.crypto.DerivationFunction, java.security.SecureRandom)\n \u2022 \u003cinit\u003e(int, org.bouncycastle.crypto.DerivationFunction, java.security.SecureRandom, boolean, boolean, boolean)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.signers.RSADigestSigner", "label": "org.bouncycastle.crypto.signers.RSADigestSigner", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.signers.RSADigestSigner\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.Digest)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.Digest, org.bouncycastle.asn1.ASN1ObjectIdentifier)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.RijndaelEngine", "label": "org.bouncycastle.crypto.engines.RijndaelEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.RijndaelEngine\n \u2022 newInstance()\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimeKEMGenerator", "label": "org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimeKEMGenerator", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimeKEMGenerator\n \u2022 \u003cinit\u003e(java.security.SecureRandom)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.modes.OpenPGPCFBBlockCipher", "label": "org.bouncycastle.crypto.modes.OpenPGPCFBBlockCipher", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.modes.OpenPGPCFBBlockCipher\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.Haraka256Digest", "label": "org.bouncycastle.crypto.digests.Haraka256Digest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.Haraka256Digest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.TupleHash", "label": "org.bouncycastle.crypto.digests.TupleHash", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.TupleHash\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.MD2Digest", "label": "org.bouncycastle.crypto.digests.MD2Digest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.MD2Digest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "javax.crypto.Mac", "label": "javax.crypto.Mac", "shape": "dot", "title": "[ENTRY-POINT]\nType: javax.crypto.Mac\n \u2022 getInstance(java.lang.String)\n \u2022 getInstance(java.lang.String, java.lang.String)\n \u2022 getInstance(java.lang.String, java.lang.String, java.security.Provider)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.pqc.crypto.saber.SABERPrivateKeyParameters", "label": "org.bouncycastle.pqc.crypto.saber.SABERPrivateKeyParameters", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.pqc.crypto.saber.SABERPrivateKeyParameters\n \u2022 \u003cinit\u003e(org.bouncycastle.pqc.crypto.saber.SABERParameters, byte[])\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.params.CCMParameters", "label": "org.bouncycastle.crypto.params.CCMParameters", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.params.CCMParameters\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.params.KeyParameter, int, byte[], byte[])\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.ElGamalEngine", "label": "org.bouncycastle.crypto.engines.ElGamalEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.ElGamalEngine\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.macs.Zuc128Mac", "label": "org.bouncycastle.crypto.macs.Zuc128Mac", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.macs.Zuc128Mac\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.macs.DSTU7564Mac", "label": "org.bouncycastle.crypto.macs.DSTU7564Mac", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.macs.DSTU7564Mac\n \u2022 \u003cinit\u003e(int)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.macs.Poly1305", "label": "org.bouncycastle.crypto.macs.Poly1305", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.macs.Poly1305\n \u2022 \u003cinit\u003e()\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.WhirlpoolDigest", "label": "org.bouncycastle.crypto.digests.WhirlpoolDigest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.WhirlpoolDigest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "javax.net.ssl.SSLParameters", "label": "javax.net.ssl.SSLParameters", "shape": "dot", "title": "[DEPENDING RULE]\nType: javax.net.ssl.SSLParameters\n \u2022 setProtocols(java.lang.String[])\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.RIPEMD256Digest", "label": "org.bouncycastle.crypto.digests.RIPEMD256Digest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.RIPEMD256Digest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.PhotonBeetleDigest", "label": "org.bouncycastle.crypto.digests.PhotonBeetleDigest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.PhotonBeetleDigest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.SHAKEDigest", "label": "org.bouncycastle.crypto.digests.SHAKEDigest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.SHAKEDigest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.AESLightEngine", "label": "org.bouncycastle.crypto.engines.AESLightEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.AESLightEngine\n \u2022 newInstance()\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.pqc.crypto.bike.BIKEKEMGenerator", "label": "org.bouncycastle.pqc.crypto.bike.BIKEKEMGenerator", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.pqc.crypto.bike.BIKEKEMGenerator\n \u2022 \u003cinit\u003e(java.security.SecureRandom)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.pqc.crypto.falcon.FalconSigner", "label": "org.bouncycastle.pqc.crypto.falcon.FalconSigner", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.pqc.crypto.falcon.FalconSigner\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.MD5Digest", "label": "org.bouncycastle.crypto.digests.MD5Digest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.MD5Digest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.pqc.crypto.saber.SABERKEMExtractor", "label": "org.bouncycastle.pqc.crypto.saber.SABERKEMExtractor", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.pqc.crypto.saber.SABERKEMExtractor\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.pqc.crypto.lms.HSSSigner", "label": "org.bouncycastle.pqc.crypto.lms.HSSSigner", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.pqc.crypto.lms.HSSSigner\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.agreement.DHBasicAgreement", "label": "org.bouncycastle.crypto.agreement.DHBasicAgreement", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.agreement.DHBasicAgreement\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.params.KeyParameter", "label": "org.bouncycastle.crypto.params.KeyParameter", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.params.KeyParameter\n \u2022 \u003cinit\u003e(byte[], int, int)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.EthereumIESEngine$HandshakeKDFFunction", "label": "org.bouncycastle.crypto.engines.EthereumIESEngine$HandshakeKDFFunction", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.EthereumIESEngine$HandshakeKDFFunction\n \u2022 \u003cinit\u003e(int, org.bouncycastle.crypto.Digest)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.signers.GenericSigner", "label": "org.bouncycastle.crypto.signers.GenericSigner", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.signers.GenericSigner\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.AsymmetricBlockCipher, org.bouncycastle.crypto.Digest)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.TEAEngine", "label": "org.bouncycastle.crypto.engines.TEAEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.TEAEngine\n \u2022 \u003cinit\u003e()\n \u2022 newInstance()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.AESWrapPadEngine", "label": "org.bouncycastle.crypto.engines.AESWrapPadEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.AESWrapPadEngine\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.agreement.kdf.GSKKFDGenerator", "label": "org.bouncycastle.crypto.agreement.kdf.GSKKFDGenerator", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.agreement.kdf.GSKKFDGenerator\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.Digest)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.signers.GOST3410Signer", "label": "org.bouncycastle.crypto.signers.GOST3410Signer", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.signers.GOST3410Signer\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.RSABlindingEngine", "label": "org.bouncycastle.crypto.engines.RSABlindingEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.RSABlindingEngine\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.DESedeEngine", "label": "org.bouncycastle.crypto.engines.DESedeEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.DESedeEngine\n \u2022 \u003cinit\u003e()\n \u2022 newInstance()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.HarakaBase", "label": "org.bouncycastle.crypto.digests.HarakaBase", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.HarakaBase\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.params.ParametersWithIV", "label": "org.bouncycastle.crypto.params.ParametersWithIV", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.params.ParametersWithIV\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.CipherParameters, byte[], int, int)\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.CipherParameters, byte[])\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.Haraka512Digest", "label": "org.bouncycastle.crypto.digests.Haraka512Digest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.Haraka512Digest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.agreement.kdf.ECDHKEKGenerator", "label": "org.bouncycastle.crypto.agreement.kdf.ECDHKEKGenerator", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.agreement.kdf.ECDHKEKGenerator\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.Digest)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.SparkleDigest", "label": "org.bouncycastle.crypto.digests.SparkleDigest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.SparkleDigest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.agreement.ECDHCBasicAgreement", "label": "org.bouncycastle.crypto.agreement.ECDHCBasicAgreement", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.agreement.ECDHCBasicAgreement\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.pqc.crypto.xmss.XMSSSigner", "label": "org.bouncycastle.pqc.crypto.xmss.XMSSSigner", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.pqc.crypto.xmss.XMSSSigner\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.XSalsa20Engine", "label": "org.bouncycastle.crypto.engines.XSalsa20Engine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.XSalsa20Engine\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.macs.Zuc256Mac", "label": "org.bouncycastle.crypto.macs.Zuc256Mac", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.macs.Zuc256Mac\n \u2022 \u003cinit\u003e(int)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.pqc.crypto.saber.SABERKEMGenerator", "label": "org.bouncycastle.pqc.crypto.saber.SABERKEMGenerator", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.pqc.crypto.saber.SABERKEMGenerator\n \u2022 \u003cinit\u003e(java.security.SecureRandom)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.Grain128AEADEngine", "label": "org.bouncycastle.crypto.engines.Grain128AEADEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.Grain128AEADEngine\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.CamelliaWrapEngine", "label": "org.bouncycastle.crypto.engines.CamelliaWrapEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.CamelliaWrapEngine\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.pqc.legacy.crypto.qtesla.QTESLASigner", "label": "org.bouncycastle.pqc.legacy.crypto.qtesla.QTESLASigner", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.pqc.legacy.crypto.qtesla.QTESLASigner\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.HC128Engine", "label": "org.bouncycastle.crypto.engines.HC128Engine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.HC128Engine\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "javax.crypto.spec.DHParameterSpec", "label": "javax.crypto.spec.DHParameterSpec", "shape": "dot", "title": "[DEPENDING RULE]\nType: javax.crypto.spec.DHParameterSpec\n \u2022 \u003cinit\u003e(java.math.BigInteger, java.math.BigInteger, int)\n \u2022 \u003cinit\u003e(java.math.BigInteger, java.math.BigInteger)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.pqc.legacy.crypto.gmss.GMSSKeyParameters", "label": "org.bouncycastle.pqc.legacy.crypto.gmss.GMSSKeyParameters", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.pqc.legacy.crypto.gmss.GMSSKeyParameters\n \u2022 \u003cinit\u003e(boolean, org.bouncycastle.pqc.legacy.crypto.gmss.GMSSParameters)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.pqc.crypto.cmce.CMCEKEMGenerator", "label": "org.bouncycastle.pqc.crypto.cmce.CMCEKEMGenerator", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.pqc.crypto.cmce.CMCEKEMGenerator\n \u2022 \u003cinit\u003e(java.security.SecureRandom)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.NullEngine", "label": "org.bouncycastle.crypto.engines.NullEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.NullEngine\n \u2022 newInstance()\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.paddings.PKCS7Padding", "label": "org.bouncycastle.crypto.paddings.PKCS7Padding", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.paddings.PKCS7Padding\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.ChaChaEngine", "label": "org.bouncycastle.crypto.engines.ChaChaEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.ChaChaEngine\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.DSTU7624WrapEngine", "label": "org.bouncycastle.crypto.engines.DSTU7624WrapEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.DSTU7624WrapEngine\n \u2022 \u003cinit\u003e(int)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.ElephantEngine", "label": "org.bouncycastle.crypto.engines.ElephantEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.ElephantEngine\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.engines.ElephantEngine$ElephantParameters)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.Zuc128Engine", "label": "org.bouncycastle.crypto.engines.Zuc128Engine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.Zuc128Engine\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.GOST3411_2012_512Digest", "label": "org.bouncycastle.crypto.digests.GOST3411_2012_512Digest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.GOST3411_2012_512Digest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.kems.RSAKEMExtractor", "label": "org.bouncycastle.crypto.kems.RSAKEMExtractor", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.kems.RSAKEMExtractor\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.params.RSAKeyParameters, int, org.bouncycastle.crypto.DerivationFunction)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.RSAEngine", "label": "org.bouncycastle.crypto.engines.RSAEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.RSAEngine\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.generators.KDFDoublePipelineIterationBytesGenerator", "label": "org.bouncycastle.crypto.generators.KDFDoublePipelineIterationBytesGenerator", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.generators.KDFDoublePipelineIterationBytesGenerator\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.Mac)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.agreement.kdf.ConcatenationKDFGenerator", "label": "org.bouncycastle.crypto.agreement.kdf.ConcatenationKDFGenerator", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.agreement.kdf.ConcatenationKDFGenerator\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.Digest)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.pqc.crypto.sphincs.SPHINCS256Signer", "label": "org.bouncycastle.pqc.crypto.sphincs.SPHINCS256Signer", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.pqc.crypto.sphincs.SPHINCS256Signer\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.Digest, org.bouncycastle.crypto.Digest)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.params.CramerShoupPublicKeyParameters", "label": "org.bouncycastle.crypto.params.CramerShoupPublicKeyParameters", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.params.CramerShoupPublicKeyParameters\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.params.CramerShoupParameters, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.NTRUEngine", "label": "org.bouncycastle.crypto.engines.NTRUEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.NTRUEngine\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.RSABlindedEngine", "label": "org.bouncycastle.crypto.engines.RSABlindedEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.RSABlindedEngine\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.GOST3411_2012Digest", "label": "org.bouncycastle.crypto.digests.GOST3411_2012Digest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.GOST3411_2012Digest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.engines.TwofishEngine", "label": "org.bouncycastle.crypto.engines.TwofishEngine", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.engines.TwofishEngine\n \u2022 \u003cinit\u003e()\n \u2022 newInstance()\n"}, {"color": "#97c2fc", "id": "java.security.spec.MGF1ParameterSpec", "label": "java.security.spec.MGF1ParameterSpec", "shape": "dot", "title": "[DEPENDING RULE]\nType: java.security.spec.MGF1ParameterSpec\n \u2022 \u003cinit\u003e(java.lang.String)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.pqc.crypto.saber.SABERPublicKeyParameters", "label": "org.bouncycastle.pqc.crypto.saber.SABERPublicKeyParameters", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.pqc.crypto.saber.SABERPublicKeyParameters\n \u2022 \u003cinit\u003e(org.bouncycastle.pqc.crypto.saber.SABERParameters, byte[])\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.macs.GOST28147Mac", "label": "org.bouncycastle.crypto.macs.GOST28147Mac", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.macs.GOST28147Mac\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.paddings.ISO7816d4Padding", "label": "org.bouncycastle.crypto.paddings.ISO7816d4Padding", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.paddings.ISO7816d4Padding\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.modes.GCFBBlockCipher", "label": "org.bouncycastle.crypto.modes.GCFBBlockCipher", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.modes.GCFBBlockCipher\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.Blake2sDigest", "label": "org.bouncycastle.crypto.digests.Blake2sDigest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.Blake2sDigest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.modes.OldCTSBlockCipher", "label": "org.bouncycastle.crypto.modes.OldCTSBlockCipher", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.modes.OldCTSBlockCipher\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.BlockCipher)\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.modes.NISTCTSBlockCipher", "label": "org.bouncycastle.crypto.modes.NISTCTSBlockCipher", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.modes.NISTCTSBlockCipher\n \u2022 \u003cinit\u003e(int, org.bouncycastle.crypto.BlockCipher)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.TigerDigest", "label": "org.bouncycastle.crypto.digests.TigerDigest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.TigerDigest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.pqc.crypto.ntru.NTRUKEMExtractor", "label": "org.bouncycastle.pqc.crypto.ntru.NTRUKEMExtractor", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.pqc.crypto.ntru.NTRUKEMExtractor\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.macs.VMPCMac", "label": "org.bouncycastle.crypto.macs.VMPCMac", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.macs.VMPCMac\n \u2022 \u003cinit\u003e()\n"}, {"color": "#eb4034", "id": "org.bouncycastle.crypto.macs.OldHMac", "label": "org.bouncycastle.crypto.macs.OldHMac", "shape": "dot", "title": "[ENTRY-POINT]\nType: org.bouncycastle.crypto.macs.OldHMac\n \u2022 \u003cinit\u003e(org.bouncycastle.crypto.Digest)\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.AsconDigest", "label": "org.bouncycastle.crypto.digests.AsconDigest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.AsconDigest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#97c2fc", "id": "org.bouncycastle.crypto.digests.XoodyakDigest", "label": "org.bouncycastle.crypto.digests.XoodyakDigest", "shape": "dot", "title": "[DEPENDING RULE]\nType: org.bouncycastle.crypto.digests.XoodyakDigest\n \u2022 \u003cinit\u003e()\n"}, {"color": "#32a852", "id": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningKeyGenerationParameters [P]", "label": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningKeyGenerationParameters", "shape": "dot", "title": "[PARAMETER TYPE/INTERFACE]\nType: org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningKeyGenerationParameters"}, {"color": "#32a852", "id": "java.security.spec.AlgorithmParameterSpec [P]", "label": "java.security.spec.AlgorithmParameterSpec", "shape": "dot", "title": "[PARAMETER TYPE/INTERFACE]\nType: java.security.spec.AlgorithmParameterSpec"}, {"color": "#32a852", "id": "org.bouncycastle.crypto.BlockCipher [P]", "label": "org.bouncycastle.crypto.BlockCipher", "shape": "dot", "title": "[PARAMETER TYPE/INTERFACE]\nType: org.bouncycastle.crypto.BlockCipher"}, {"color": "#32a852", "id": "org.bouncycastle.crypto.BasicAgreement [P]", "label": "org.bouncycastle.crypto.BasicAgreement", "shape": "dot", "title": "[PARAMETER TYPE/INTERFACE]\nType: org.bouncycastle.crypto.BasicAgreement"}, {"color": "#32a852", "id": "org.bouncycastle.crypto.BufferedBlockCipher [P]", "label": "org.bouncycastle.crypto.BufferedBlockCipher", "shape": "dot", "title": "[PARAMETER TYPE/INTERFACE]\nType: org.bouncycastle.crypto.BufferedBlockCipher"}, {"color": "#32a852", "id": "org.bouncycastle.pqc.legacy.crypto.gmss.GMSSPublicKeyParameters [P]", "label": "org.bouncycastle.pqc.legacy.crypto.gmss.GMSSPublicKeyParameters", "shape": "dot", "title": "[PARAMETER TYPE/INTERFACE]\nType: org.bouncycastle.pqc.legacy.crypto.gmss.GMSSPublicKeyParameters"}, {"color": "#32a852", "id": "org.bouncycastle.crypto.paddings.BlockCipherPadding [P]", "label": "org.bouncycastle.crypto.paddings.BlockCipherPadding", "shape": "dot", "title": "[PARAMETER TYPE/INTERFACE]\nType: org.bouncycastle.crypto.paddings.BlockCipherPadding"}, {"color": "#32a852", "id": "org.bouncycastle.crypto.params.CramerShoupParameters [P]", "label": "org.bouncycastle.crypto.params.CramerShoupParameters", "shape": "dot", "title": "[PARAMETER TYPE/INTERFACE]\nType: org.bouncycastle.crypto.params.CramerShoupParameters"}, {"color": "#32a852", "id": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningParameters [P]", "label": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningParameters", "shape": "dot", "title": "[PARAMETER TYPE/INTERFACE]\nType: org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningParameters"}, {"color": "#32a852", "id": "javax.crypto.SecretKey [P]", "label": "javax.crypto.SecretKey", "shape": "dot", "title": "[PARAMETER TYPE/INTERFACE]\nType: javax.crypto.SecretKey"}, {"color": "#32a852", "id": "org.bouncycastle.crypto.params.KeyParameter [P]", "label": "org.bouncycastle.crypto.params.KeyParameter", "shape": "dot", "title": "[PARAMETER TYPE/INTERFACE]\nType: org.bouncycastle.crypto.params.KeyParameter"}, {"color": "#32a852", "id": "java.security.spec.KeySpec [P]", "label": "java.security.spec.KeySpec", "shape": "dot", "title": "[PARAMETER TYPE/INTERFACE]\nType: java.security.spec.KeySpec"}, {"color": "#32a852", "id": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningPublicKeyParameters [P]", "label": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningPublicKeyParameters", "shape": "dot", "title": "[PARAMETER TYPE/INTERFACE]\nType: org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningPublicKeyParameters"}, {"color": "#32a852", "id": "org.bouncycastle.crypto.Digest [P]", "label": "org.bouncycastle.crypto.Digest", "shape": "dot", "title": "[PARAMETER TYPE/INTERFACE]\nType: org.bouncycastle.crypto.Digest"}, {"color": "#32a852", "id": "org.bouncycastle.crypto.DerivationFunction [P]", "label": "org.bouncycastle.crypto.DerivationFunction", "shape": "dot", "title": "[PARAMETER TYPE/INTERFACE]\nType: org.bouncycastle.crypto.DerivationFunction"}, {"color": "#32a852", "id": "java.security.spec.ECField [P]", "label": "java.security.spec.ECField", "shape": "dot", "title": "[PARAMETER TYPE/INTERFACE]\nType: java.security.spec.ECField"}, {"color": "#32a852", "id": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUEncryptionParameters [P]", "label": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUEncryptionParameters", "shape": "dot", "title": "[PARAMETER TYPE/INTERFACE]\nType: org.bouncycastle.pqc.legacy.crypto.ntru.NTRUEncryptionParameters"}, {"color": "#32a852", "id": "org.bouncycastle.crypto.DSA [P]", "label": "org.bouncycastle.crypto.DSA", "shape": "dot", "title": "[PARAMETER TYPE/INTERFACE]\nType: org.bouncycastle.crypto.DSA"}, {"color": "#32a852", "id": "java.security.Key [P]", "label": "java.security.Key", "shape": "dot", "title": "[PARAMETER TYPE/INTERFACE]\nType: java.security.Key"}, {"color": "#32a852", "id": "org.bouncycastle.crypto.Mac [P]", "label": "org.bouncycastle.crypto.Mac", "shape": "dot", "title": "[PARAMETER TYPE/INTERFACE]\nType: org.bouncycastle.crypto.Mac"}, {"color": "#32a852", "id": "java.security.spec.EllipticCurve [P]", "label": "java.security.spec.EllipticCurve", "shape": "dot", "title": "[PARAMETER TYPE/INTERFACE]\nType: java.security.spec.EllipticCurve"}, {"color": "#32a852", "id": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "label": "org.bouncycastle.crypto.modes.GCMModeCipher", "shape": "dot", "title": "[PARAMETER TYPE/INTERFACE]\nType: org.bouncycastle.crypto.modes.GCMModeCipher"}, {"color": "#32a852", "id": "org.bouncycastle.crypto.modes.KGCMBlockCipher [P]", "label": "org.bouncycastle.crypto.modes.KGCMBlockCipher", "shape": "dot", "title": "[PARAMETER TYPE/INTERFACE]\nType: org.bouncycastle.crypto.modes.KGCMBlockCipher"}, {"color": "#32a852", "id": "org.bouncycastle.pqc.legacy.crypto.gmss.GMSSParameters [P]", "label": "org.bouncycastle.pqc.legacy.crypto.gmss.GMSSParameters", "shape": "dot", "title": "[PARAMETER TYPE/INTERFACE]\nType: org.bouncycastle.pqc.legacy.crypto.gmss.GMSSParameters"}, {"color": "#32a852", "id": "org.bouncycastle.crypto.DSAExt [P]", "label": "org.bouncycastle.crypto.DSAExt", "shape": "dot", "title": "[PARAMETER TYPE/INTERFACE]\nType: org.bouncycastle.crypto.DSAExt"}, {"color": "#32a852", "id": "javax.net.ssl.SSLParameters [P]", "label": "javax.net.ssl.SSLParameters", "shape": "dot", "title": "[PARAMETER TYPE/INTERFACE]\nType: javax.net.ssl.SSLParameters"}, {"color": "#32a852", "id": "java.security.spec.ECParameterSpec [P]", "label": "java.security.spec.ECParameterSpec", "shape": "dot", "title": "[PARAMETER TYPE/INTERFACE]\nType: java.security.spec.ECParameterSpec"}, {"color": "#32a852", "id": "org.bouncycastle.pqc.crypto.StateAwareMessageSigner [P]", "label": "org.bouncycastle.pqc.crypto.StateAwareMessageSigner", "shape": "dot", "title": "[PARAMETER TYPE/INTERFACE]\nType: org.bouncycastle.pqc.crypto.StateAwareMessageSigner"}, {"color": "#32a852", "id": "org.bouncycastle.crypto.CipherParameters [P]", "label": "org.bouncycastle.crypto.CipherParameters", "shape": "dot", "title": "[PARAMETER TYPE/INTERFACE]\nType: org.bouncycastle.crypto.CipherParameters"}, {"color": "#32a852", "id": "org.bouncycastle.pqc.crypto.MessageSigner [P]", "label": "org.bouncycastle.pqc.crypto.MessageSigner", "shape": "dot", "title": "[PARAMETER TYPE/INTERFACE]\nType: org.bouncycastle.pqc.crypto.MessageSigner"}, {"color": "#32a852", "id": "org.bouncycastle.crypto.AsymmetricBlockCipher [P]", "label": "org.bouncycastle.crypto.AsymmetricBlockCipher", "shape": "dot", "title": "[PARAMETER TYPE/INTERFACE]\nType: org.bouncycastle.crypto.AsymmetricBlockCipher"}, {"color": "#32a852", "id": "org.bouncycastle.pqc.crypto.saber.SABERParameters [P]", "label": "org.bouncycastle.pqc.crypto.saber.SABERParameters", "shape": "dot", "title": "[PARAMETER TYPE/INTERFACE]\nType: org.bouncycastle.pqc.crypto.saber.SABERParameters"}]);
edges = new vis.DataSet([{"arrows": "to", "from": "org.bouncycastle.pqc.legacy.crypto.gmss.GMSSSigner", "to": "org.bouncycastle.crypto.MessageSigner"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.MessageSigner [P]", "to": "org.bouncycastle.pqc.crypto.crystals.dilithium.DilithiumSigner"}, {"arrows": "to", "from": "org.bouncycastle.crypto.macs.VMPCMac", "to": "org.bouncycastle.crypto.Mac"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.engines.DESEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.CFBBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.encodings.OAEPEncoding", "to": "org.bouncycastle.crypto.Digest [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.modes.CBCBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.CCMBlockCipher", "to": "org.bouncycastle.crypto.modes.AEADCipher"}, {"arrows": "to", "from": "java.security.Key [P]", "to": "javax.crypto.spec.DESedeKeySpec"}, {"arrows": "to", "from": "org.bouncycastle.crypto.macs.GMac", "to": "org.bouncycastle.crypto.modes.GCMModeCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.engines.SM4Engine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Mac [P]", "to": "org.bouncycastle.crypto.macs.DSTU7564Mac"}, {"arrows": "to", "from": "org.bouncycastle.crypto.macs.CMacWithIV", "to": "org.bouncycastle.crypto.BlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.CipherParameters [P]", "to": "org.bouncycastle.crypto.params.AEADParameters"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.DigestingStateAwareMessageSigner", "to": "org.bouncycastle.crypto.Digest [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.PaddedBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.CipherParameters [P]", "to": "org.bouncycastle.crypto.params.CramerShoupPublicKeyParameters"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMBlockCipher", "to": "org.bouncycastle.crypto.modes.AEADCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.XoodyakEngine", "to": "org.bouncycastle.crypto.modes.AEADCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.signers.ECGOST3410_2012Signer", "to": "org.bouncycastle.crypto.DSA"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.ElGamalEngine", "to": "org.bouncycastle.crypto.AsymmetricBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Mac [P]", "to": "org.bouncycastle.crypto.macs.OldHMac"}, {"arrows": "to", "from": "org.bouncycastle.crypto.signers.ISO9796d2PSSSigner", "to": "org.bouncycastle.crypto.AsymmetricBlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BufferedBlockCipher [P]", "to": "org.bouncycastle.crypto.paddings.PaddedBufferedBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.pqc.jcajce.provider.gmss.BCGMSSPublicKey", "to": "org.bouncycastle.pqc.legacy.crypto.gmss.GMSSParameters [P]"}, {"arrows": "to", "from": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUEncryptionPublicKeyParameters", "to": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUEncryptionParameters [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.RSABlindingEngine", "to": "org.bouncycastle.crypto.AsymmetricBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.SM2Engine", "to": "org.bouncycastle.crypto.CipherParameters [P]"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.MessageSigner [P]", "to": "org.bouncycastle.pqc.crypto.rainbow.RainbowSigner"}, {"arrows": "to", "from": "org.bouncycastle.crypto.digests.NonMemoableDigest", "to": "org.bouncycastle.crypto.Digest [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.macs.OldHMac", "to": "org.bouncycastle.crypto.Mac"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.engines.RC532Engine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BufferedBlockCipher [P]", "to": "org.bouncycastle.crypto.modes.KXTSBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.CipherParameters [P]", "to": "org.bouncycastle.crypto.params.ParametersWithIV"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.RSAEngine", "to": "org.bouncycastle.crypto.AsymmetricBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.CCMBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.engines.BlowfishEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher", "to": "org.bouncycastle.crypto.CipherParameters [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.NullDigest"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.SparkleDigest"}, {"arrows": "to", "from": "org.bouncycastle.crypto.signers.X931Signer", "to": "org.bouncycastle.crypto.Signer"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.RIPEMD160Digest"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.modes.GCFBBlockCipher"}, {"arrows": "to", "from": "javax.crypto.KeyGenerator", "to": "javax.crypto.KeyGenerator"}, {"arrows": "to", "from": "java.security.spec.ECField [P]", "to": "java.security.spec.ECFieldFp"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.G3413CFBBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.CipherParameters [P]", "to": "org.bouncycastle.crypto.params.ParametersWithSalt"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.SHA224Digest"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.modes.OpenPGPCFBBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.engines.ARIAEngine"}, {"arrows": "to", "from": "java.security.KeyPairGenerator", "to": "java.security.spec.AlgorithmParameterSpec [P]"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.MessageSigner [P]", "to": "org.bouncycastle.pqc.crypto.xmss.XMSSSigner"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.engines.AESFastEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.agreement.DHBasicAgreement", "to": "org.bouncycastle.crypto.BasicAgreement"}, {"arrows": "to", "from": "org.bouncycastle.crypto.CipherParameters [P]", "to": "org.bouncycastle.crypto.params.ParametersWithSBox"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.NISTCTSBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.modes.KCTRBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BufferedAsymmetricBlockCipher", "to": "org.bouncycastle.crypto.AsymmetricBlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.DSA [P]", "to": "org.bouncycastle.crypto.signers.GOST3410Signer"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.EthereumIESEngine$HandshakeKDFFunction", "to": "org.bouncycastle.crypto.Digest [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.CipherParameters [P]", "to": "org.bouncycastle.crypto.params.ParametersWithID"}, {"arrows": "to", "from": "org.bouncycastle.crypto.macs.CBCBlockCipherMac", "to": "org.bouncycastle.crypto.Mac"}, {"arrows": "to", "from": "java.security.Signature", "to": "java.security.Signature"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.MessageSigner [P]", "to": "org.bouncycastle.pqc.crypto.picnic.PicnicSigner"}, {"arrows": "to", "from": "org.bouncycastle.pqc.legacy.crypto.gmss.GMSSStateAwareSigner", "to": "org.bouncycastle.crypto.Digest [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.engines.CAST5Engine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.engines.SerpentEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.SEEDWrapEngine", "to": "org.bouncycastle.crypto.Wrapper"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Mac [P]", "to": "org.bouncycastle.crypto.macs.ISO9797Alg3Mac"}, {"arrows": "to", "from": "org.bouncycastle.crypto.encodings.ISO9796d1Encoding", "to": "org.bouncycastle.crypto.AsymmetricBlockCipher [P]"}, {"arrows": "to", "from": "java.security.Key [P]", "to": "javax.crypto.spec.SecretKeySpec"}, {"arrows": "to", "from": "org.bouncycastle.crypto.signers.Ed25519Signer", "to": "org.bouncycastle.crypto.Signer"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.engines.RC564Engine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.engines.SkipjackEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.DSTU7564Digest"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.IESEngine", "to": "org.bouncycastle.crypto.CipherParameters [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GOFBBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.macs.ISO9797Alg3Mac", "to": "org.bouncycastle.crypto.Mac"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.RC532Engine", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.signers.DSADigestSigner", "to": "org.bouncycastle.crypto.DSA [P]"}, {"arrows": "to", "from": "java.security.spec.EllipticCurve [P]", "to": "java.security.spec.EllipticCurve"}, {"arrows": "to", "from": "org.bouncycastle.crypto.macs.Poly1305", "to": "org.bouncycastle.crypto.BlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.Kangaroo$MarsupilamiFourteen"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.DigestingMessageSigner", "to": "org.bouncycastle.crypto.Signer"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.OFBBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "java.security.spec.AlgorithmParameterSpec [P]", "to": "java.security.spec.ECParameterSpec"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.engines.XTEAEngine"}, {"arrows": "to", "from": "java.security.spec.KeySpec [P]", "to": "java.security.spec.DSAPrivateKeySpec"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BufferedBlockCipher [P]", "to": "org.bouncycastle.crypto.modes.OldCTSBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.engines.NullEngine"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.StateAwareMessageSigner [P]", "to": "org.bouncycastle.pqc.crypto.xmss.XMSSMTSigner"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.SHA256Digest"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.Grain128Engine", "to": "org.bouncycastle.crypto.StreamCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.GOST28147Engine", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BufferedBlockCipher [P]", "to": "org.bouncycastle.crypto.modes.PaddedBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.encodings.PKCS1Encoding", "to": "org.bouncycastle.crypto.AsymmetricBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.Blake2bDigest"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.SICBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.generators.KDFDoublePipelineIterationBytesGenerator", "to": "org.bouncycastle.crypto.Mac [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.modes.CFBBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.DESEngine", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.engines.TEAEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.engines.SEEDEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.paddings.BlockCipherPadding [P]", "to": "org.bouncycastle.crypto.paddings.ISO7816d4Padding"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.XTEAEngine", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "javax.crypto.SecretKeyFactory", "to": "java.security.spec.KeySpec [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.modes.OFBBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.params.ParametersWithRandom", "to": "org.bouncycastle.crypto.CipherParameters [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.macs.BlockCipherMac", "to": "org.bouncycastle.crypto.BlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.CAST6Engine", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.G3413CBCBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.RSABlindedEngine", "to": "org.bouncycastle.crypto.AsymmetricBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.agreement.kdf.GSKKFDGenerator", "to": "org.bouncycastle.crypto.Digest [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.DerivationFunction [P]", "to": "org.bouncycastle.crypto.agreement.kdf.GSKKFDGenerator"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Mac [P]", "to": "org.bouncycastle.crypto.macs.CMac"}, {"arrows": "to", "from": "org.bouncycastle.crypto.DerivationFunction [P]", "to": "org.bouncycastle.crypto.generators.HKDFBytesGenerator"}, {"arrows": "to", "from": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningParameters [P]", "to": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningParameters"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Mac [P]", "to": "org.bouncycastle.crypto.macs.SipHash128"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.engines.RijndaelEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.SHA512Digest"}, {"arrows": "to", "from": "org.bouncycastle.crypto.DSA [P]", "to": "org.bouncycastle.crypto.signers.DSTU4145Signer"}, {"arrows": "to", "from": "org.bouncycastle.crypto.DerivationFunction [P]", "to": "org.bouncycastle.crypto.engines.EthereumIESEngine$HandshakeKDFFunction"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Mac [P]", "to": "org.bouncycastle.crypto.macs.Blake3Mac"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.OCBBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.modes.PGPCFBBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.falcon.FalconSigner", "to": "org.bouncycastle.crypto.MessageSigner"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.AsconXof"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Mac [P]", "to": "org.bouncycastle.crypto.macs.Zuc256Mac"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.engines.DESedeEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.TnepresEngine", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.signers.ECGOST3410Signer", "to": "org.bouncycastle.crypto.DSA"}, {"arrows": "to", "from": "org.bouncycastle.crypto.macs.HMac", "to": "org.bouncycastle.crypto.Mac"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.G3413CBCBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.engines.LEAEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.SHA1Digest"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BufferedBlockCipher [P]", "to": "org.bouncycastle.crypto.DefaultBufferedBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.CipherParameters [P]", "to": "org.bouncycastle.crypto.params.IESParameters"}, {"arrows": "to", "from": "org.bouncycastle.crypto.macs.GMac", "to": "org.bouncycastle.crypto.Mac"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.saber.SABERParameters [P]", "to": "org.bouncycastle.pqc.crypto.saber.SABERParameters"}, {"arrows": "to", "from": "org.bouncycastle.crypto.signers.X931Signer", "to": "org.bouncycastle.crypto.Digest [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.engines.DESEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.engines.RC6Engine"}, {"arrows": "to", "from": "javax.crypto.KeyAgreement", "to": "javax.crypto.KeyAgreement"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.modes.CBCBlockCipher"}, {"arrows": "to", "from": "javax.crypto.KeyAgreement", "to": "java.security.spec.AlgorithmParameterSpec [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BasicAgreement [P]", "to": "org.bouncycastle.crypto.agreement.MQVBasicAgreement"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.IESEngine", "to": "org.bouncycastle.crypto.engines.IESEngine"}, {"arrows": "to", "from": "javax.crypto.Cipher", "to": "java.security.spec.AlgorithmParameterSpec [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.engines.SM4Engine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.macs.GOST28147Mac", "to": "org.bouncycastle.crypto.Mac"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.crystals.dilithium.DilithiumSigner", "to": "org.bouncycastle.crypto.MessageSigner"}, {"arrows": "to", "from": "org.bouncycastle.crypto.macs.Blake3Mac", "to": "org.bouncycastle.crypto.Mac"}, {"arrows": "to", "from": "org.bouncycastle.pqc.jcajce.provider.gmss.BCGMSSPublicKey", "to": "org.bouncycastle.pqc.legacy.crypto.gmss.GMSSPublicKeyParameters [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.kems.ECIESKEMExtractor", "to": "org.bouncycastle.crypto.DerivationFunction [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.SkipjackEngine", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "java.security.spec.KeySpec [P]", "to": "javax.crypto.spec.DHPrivateKeySpec"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.EAXBlockCipher", "to": "org.bouncycastle.crypto.modes.AEADCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.AsymmetricBlockCipher [P]", "to": "org.bouncycastle.crypto.engines.RSABlindingEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.macs.Zuc256Mac", "to": "org.bouncycastle.crypto.Mac"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.SkeinDigest"}, {"arrows": "to", "from": "org.bouncycastle.crypto.params.ParametersWithIV", "to": "org.bouncycastle.crypto.CipherParameters [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.agreement.ECDHBasicAgreement", "to": "org.bouncycastle.crypto.BasicAgreement"}, {"arrows": "to", "from": "org.bouncycastle.crypto.CipherParameters [P]", "to": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUEncryptionKeyParameters"}, {"arrows": "to", "from": "org.bouncycastle.crypto.params.ParametersWithSBox", "to": "org.bouncycastle.crypto.CipherParameters [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.AESLightEngine", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.params.KeyParameter [P]", "to": "org.bouncycastle.crypto.params.KeyParameter"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.engines.NoekeonEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.macs.HMac", "to": "org.bouncycastle.crypto.Digest [P]"}, {"arrows": "to", "from": "java.security.spec.KeySpec [P]", "to": "javax.crypto.spec.DESedeKeySpec"}, {"arrows": "to", "from": "org.bouncycastle.crypto.AsymmetricBlockCipher [P]", "to": "org.bouncycastle.crypto.engines.NaccacheSternEngine"}, {"arrows": "to", "from": "javax.crypto.SecretKey [P]", "to": "javax.crypto.spec.SecretKeySpec"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.RC2WrapEngine", "to": "org.bouncycastle.crypto.Wrapper"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.engines.TnepresEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.EAXBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.engines.Shacal2Engine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.engines.AESEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.CipherParameters [P]", "to": "org.bouncycastle.pqc.jcajce.provider.gmss.BCGMSSPublicKey"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.rainbow.RainbowSigner", "to": "org.bouncycastle.crypto.MessageSigner"}, {"arrows": "to", "from": "org.bouncycastle.crypto.generators.HKDFBytesGenerator", "to": "org.bouncycastle.crypto.Digest [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BasicAgreement", "to": "org.bouncycastle.crypto.CipherParameters [P]"}, {"arrows": "to", "from": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningKeyGenerationParameters [P]", "to": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningKeyGenerationParameters"}, {"arrows": "to", "from": "java.security.Key [P]", "to": "java.security.spec.ECPrivateKeySpec"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.MD5Digest"}, {"arrows": "to", "from": "org.bouncycastle.crypto.macs.SipHash", "to": "org.bouncycastle.crypto.Mac"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.modes.G3413OFBBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BufferedAsymmetricBlockCipher", "to": "org.bouncycastle.crypto.CipherParameters [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.OpenPGPCFBBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.xmss.XMSSSigner", "to": "org.bouncycastle.crypto.MessageSigner"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.Blake2xsDigest"}, {"arrows": "to", "from": "org.bouncycastle.crypto.agreement.ECDHCBasicAgreement", "to": "org.bouncycastle.crypto.BasicAgreement"}, {"arrows": "to", "from": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningParameters", "to": "org.bouncycastle.crypto.Digest [P]"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.StateAwareMessageSigner [P]", "to": "org.bouncycastle.pqc.legacy.crypto.gmss.GMSSStateAwareSigner"}, {"arrows": "to", "from": "org.bouncycastle.crypto.DerivationFunction [P]", "to": "org.bouncycastle.crypto.generators.MGF1BytesGenerator"}, {"arrows": "to", "from": "org.bouncycastle.crypto.MessageSigner", "to": "org.bouncycastle.crypto.CipherParameters [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.ISAACEngine", "to": "org.bouncycastle.crypto.StreamCipher"}, {"arrows": "to", "from": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUEncryptionParameters", "to": "org.bouncycastle.crypto.Digest [P]"}, {"arrows": "to", "from": "org.bouncycastle.jce.provider.BrokenKDF2BytesGenerator", "to": "org.bouncycastle.crypto.Digest [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.MD4Digest"}, {"arrows": "to", "from": "org.bouncycastle.crypto.signers.GenericSigner", "to": "org.bouncycastle.crypto.Signer"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.engines.IDEAEngine"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.sphincs.SPHINCS256Signer", "to": "org.bouncycastle.crypto.Digest [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.DSA [P]", "to": "org.bouncycastle.crypto.signers.ECGOST3410Signer"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.SHAKEDigest"}, {"arrows": "to", "from": "org.bouncycastle.crypto.macs.ISO9797Alg3Mac", "to": "org.bouncycastle.crypto.paddings.BlockCipherPadding [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.AsymmetricBlockCipher [P]", "to": "org.bouncycastle.crypto.encodings.OAEPEncoding"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.MessageSigner [P]", "to": "org.bouncycastle.pqc.crypto.sphincs.SPHINCS256Signer"}, {"arrows": "to", "from": "org.bouncycastle.crypto.CipherParameters [P]", "to": "org.bouncycastle.crypto.params.CramerShoupParameters"}, {"arrows": "to", "from": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningKeyGenerationParameters", "to": "org.bouncycastle.crypto.Digest [P]"}, {"arrows": "to", "from": "java.security.spec.AlgorithmParameterSpec [P]", "to": "javax.crypto.spec.DHGenParameterSpec"}, {"arrows": "to", "from": "org.bouncycastle.crypto.generators.MGF1BytesGenerator", "to": "org.bouncycastle.crypto.Digest [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.engines.SkipjackEngine"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.MessageSigner [P]", "to": "org.bouncycastle.pqc.crypto.gemss.GeMSSSigner"}, {"arrows": "to", "from": "org.bouncycastle.crypto.signers.PSSSigner", "to": "org.bouncycastle.crypto.Signer"}, {"arrows": "to", "from": "org.bouncycastle.crypto.paddings.BlockCipherPadding [P]", "to": "org.bouncycastle.crypto.paddings.PKCS7Padding"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.MessageSigner [P]", "to": "org.bouncycastle.pqc.crypto.falcon.FalconSigner"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.SM4Engine", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.params.CramerShoupPublicKeyParameters", "to": "org.bouncycastle.crypto.params.CramerShoupParameters [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.CipherParameters [P]", "to": "org.bouncycastle.crypto.params.KeyParameter"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.ChaCha7539Engine", "to": "org.bouncycastle.crypto.StreamCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.pqc.crypto.lms.LMSContext"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.RC2Engine", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.encodings.ISO9796d1Encoding", "to": "org.bouncycastle.crypto.AsymmetricBlockCipher"}, {"arrows": "to", "from": "javax.net.ssl.SSLParameters [P]", "to": "javax.net.ssl.SSLParameters"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.GOST3411Digest"}, {"arrows": "to", "from": "org.bouncycastle.pqc.legacy.crypto.gmss.GMSSPrivateKeyParameters", "to": "org.bouncycastle.pqc.legacy.crypto.gmss.GMSSParameters [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.CSHAKEDigest"}, {"arrows": "to", "from": "java.security.KeyFactory", "to": "java.security.spec.KeySpec [P]"}, {"arrows": "to", "from": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUEncryptionKeyParameters", "to": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUEncryptionParameters [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.AESEngine", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.OldCTSBlockCipher", "to": "org.bouncycastle.crypto.BufferedBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.signers.DSTU4145Signer", "to": "org.bouncycastle.crypto.DSA"}, {"arrows": "to", "from": "org.bouncycastle.crypto.signers.RSADigestSigner", "to": "org.bouncycastle.crypto.Signer"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.engines.GOST3412_2015Engine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.macs.BlockCipherMac", "to": "org.bouncycastle.crypto.Mac"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.ElephantEngine", "to": "org.bouncycastle.crypto.modes.AEADCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.signers.SM2Signer", "to": "org.bouncycastle.crypto.Signer"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.lms.LMSSigner", "to": "org.bouncycastle.crypto.MessageSigner"}, {"arrows": "to", "from": "org.bouncycastle.crypto.params.CramerShoupParameters [P]", "to": "org.bouncycastle.crypto.params.CramerShoupParameters"}, {"arrows": "to", "from": "java.security.spec.KeySpec [P]", "to": "javax.crypto.spec.SecretKeySpec"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.engines.CamelliaLightEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.AsymmetricBlockCipher [P]", "to": "org.bouncycastle.crypto.engines.NTRUEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.DSTU7624WrapEngine", "to": "org.bouncycastle.crypto.Wrapper"}, {"arrows": "to", "from": "org.bouncycastle.crypto.AsymmetricBlockCipher [P]", "to": "org.bouncycastle.crypto.engines.RSABlindedEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.encodings.OAEPEncoding", "to": "org.bouncycastle.crypto.AsymmetricBlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.modes.G3413CTRBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.CBCBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BufferedBlockCipher", "to": "org.bouncycastle.crypto.BufferedBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.KCCMBlockCipher", "to": "org.bouncycastle.crypto.modes.AEADCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.ISAPDigest"}, {"arrows": "to", "from": "java.security.spec.EllipticCurve", "to": "java.security.spec.ECField [P]"}, {"arrows": "to", "from": "java.security.KeyPairGenerator", "to": "java.security.KeyPairGenerator"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.ChaCha20Poly1305", "to": "org.bouncycastle.crypto.modes.AEADCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.signers.Ed448phSigner", "to": "org.bouncycastle.crypto.Signer"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.modes.SICBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Mac [P]", "to": "org.bouncycastle.crypto.macs.GOST28147Mac"}, {"arrows": "to", "from": "org.bouncycastle.crypto.StreamCipher", "to": "org.bouncycastle.crypto.CipherParameters [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.paddings.BlockCipherPadding [P]", "to": "org.bouncycastle.crypto.paddings.ZeroBytePadding"}, {"arrows": "to", "from": "org.bouncycastle.crypto.signers.ISO9796d2Signer", "to": "org.bouncycastle.crypto.Signer"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.MessageSigner [P]", "to": "org.bouncycastle.pqc.legacy.crypto.qtesla.QTESLASigner"}, {"arrows": "to", "from": "org.bouncycastle.crypto.generators.KDF2BytesGenerator", "to": "org.bouncycastle.crypto.Digest [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.Blake2sDigest"}, {"arrows": "to", "from": "org.bouncycastle.crypto.CipherParameters [P]", "to": "org.bouncycastle.pqc.crypto.saber.SABERPrivateKeyParameters"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.IDEAEngine", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.kems.ECIESKEMGenerator", "to": "org.bouncycastle.crypto.DerivationFunction [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.RFC3394WrapEngine", "to": "org.bouncycastle.crypto.BlockCipher [P]"}, {"arrows": "to", "from": "java.security.spec.ECField [P]", "to": "java.security.spec.ECFieldF2m"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BufferedBlockCipher", "to": "org.bouncycastle.crypto.CipherParameters [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCFBBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.CipherParameters [P]", "to": "org.bouncycastle.pqc.legacy.crypto.gmss.GMSSKeyParameters"}, {"arrows": "to", "from": "org.bouncycastle.crypto.AsymmetricBlockCipher [P]", "to": "org.bouncycastle.crypto.engines.RSAEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.AsymmetricBlockCipher [P]", "to": "org.bouncycastle.crypto.encodings.ISO9796d1Encoding"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.KCCMBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.engines.CamelliaEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.SEEDEngine", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.CipherParameters [P]", "to": "org.bouncycastle.crypto.params.CCMParameters"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.MessageSigner [P]", "to": "org.bouncycastle.pqc.crypto.lms.LMSSigner"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.saber.SABERPrivateKeyParameters", "to": "org.bouncycastle.pqc.crypto.saber.SABERParameters [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.CipherParameters [P]", "to": "org.bouncycastle.crypto.params.IESWithCipherParameters"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.engines.LEAEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.AESWrapPadEngine", "to": "org.bouncycastle.crypto.Wrapper"}, {"arrows": "to", "from": "org.bouncycastle.crypto.agreement.MQVBasicAgreement", "to": "org.bouncycastle.crypto.BasicAgreement"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCFBBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.Haraka256Digest"}, {"arrows": "to", "from": "org.bouncycastle.crypto.DSAExt [P]", "to": "org.bouncycastle.crypto.signers.GOST3410Signer"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.Kangaroo$KangarooTwelve"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.AsconEngine", "to": "org.bouncycastle.crypto.modes.AEADCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Mac", "to": "org.bouncycastle.crypto.CipherParameters [P]"}, {"arrows": "to", "from": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningPrivateKeyParameters", "to": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningKeyGenerationParameters [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.DESedeWrapEngine", "to": "org.bouncycastle.crypto.Wrapper"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.CamelliaLightEngine", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.RFC5649WrapEngine", "to": "org.bouncycastle.crypto.Wrapper"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Mac [P]", "to": "org.bouncycastle.crypto.macs.VMPCMac"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GOFBBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.lms.HSSSigner", "to": "org.bouncycastle.crypto.MessageSigner"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.G3413OFBBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.SM2Engine", "to": "org.bouncycastle.crypto.Digest [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.CTSBlockCipher", "to": "org.bouncycastle.crypto.BufferedBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.macs.CFBBlockCipherMac", "to": "org.bouncycastle.crypto.BlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.OFBBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.generators.KDF1BytesGenerator", "to": "org.bouncycastle.crypto.Digest [P]"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.DigestingStateAwareMessageSigner", "to": "org.bouncycastle.pqc.crypto.StateAwareMessageSigner [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.CamelliaWrapEngine", "to": "org.bouncycastle.crypto.Wrapper"}, {"arrows": "to", "from": "org.bouncycastle.crypto.macs.CMac", "to": "org.bouncycastle.crypto.Mac"}, {"arrows": "to", "from": "org.bouncycastle.crypto.DSAExt [P]", "to": "org.bouncycastle.crypto.signers.ECDSASigner"}, {"arrows": "to", "from": "org.bouncycastle.crypto.signers.GenericSigner", "to": "org.bouncycastle.crypto.Digest [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.OCBBlockCipher", "to": "org.bouncycastle.crypto.modes.AEADCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.macs.DSTU7564Mac", "to": "org.bouncycastle.crypto.Mac"}, {"arrows": "to", "from": "org.bouncycastle.crypto.params.CCMParameters", "to": "org.bouncycastle.crypto.params.KeyParameter [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.generators.KDFFeedbackBytesGenerator", "to": "org.bouncycastle.crypto.Mac [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.G3413OFBBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.RC6Engine", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.macs.SkeinMac", "to": "org.bouncycastle.crypto.Mac"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.SHA3Digest"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.PaddedBlockCipher", "to": "org.bouncycastle.crypto.BufferedBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.signers.ISO9796d2PSSSigner", "to": "org.bouncycastle.crypto.Signer"}, {"arrows": "to", "from": "org.bouncycastle.crypto.generators.PKCS5S2ParametersGenerator", "to": "org.bouncycastle.crypto.Digest [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.IESEngine", "to": "org.bouncycastle.crypto.BasicAgreement [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.kems.RSAKEMExtractor", "to": "org.bouncycastle.crypto.DerivationFunction [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.AESFastEngine", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.engines.AESLightEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.engines.TnepresEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.signers.PSSSigner", "to": "org.bouncycastle.crypto.Digest [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.DefaultBufferedBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.engines.BlowfishEngine"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.xmss.XMSSMTSigner", "to": "org.bouncycastle.crypto.MessageSigner"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Mac [P]", "to": "org.bouncycastle.crypto.macs.CMacWithIV"}, {"arrows": "to", "from": "org.bouncycastle.crypto.macs.CMacWithIV", "to": "org.bouncycastle.crypto.Mac"}, {"arrows": "to", "from": "org.bouncycastle.crypto.signers.RSADigestSigner", "to": "org.bouncycastle.crypto.Digest [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.params.CramerShoupParameters", "to": "org.bouncycastle.crypto.Digest [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.DSAExt [P]", "to": "org.bouncycastle.crypto.signers.ECNRSigner"}, {"arrows": "to", "from": "org.bouncycastle.crypto.DSA [P]", "to": "org.bouncycastle.crypto.signers.ECGOST3410_2012Signer"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.modes.GCFBBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.DESedeEngine", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.HC256Engine", "to": "org.bouncycastle.crypto.StreamCipher"}, {"arrows": "to", "from": "java.security.AlgorithmParameterGenerator", "to": "java.security.spec.AlgorithmParameterSpec [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.DerivationFunction [P]", "to": "org.bouncycastle.crypto.generators.KDFFeedbackBytesGenerator"}, {"arrows": "to", "from": "org.bouncycastle.pqc.legacy.crypto.gmss.GMSSParameters [P]", "to": "org.bouncycastle.pqc.legacy.crypto.gmss.GMSSParameters"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.DigestingStateAwareMessageSigner", "to": "org.bouncycastle.crypto.Signer"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Mac [P]", "to": "org.bouncycastle.crypto.macs.DSTU7624Mac"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.engines.GOST28147Engine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.GOST3411_2012_512Digest"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.modes.OpenPGPCFBBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.WhirlpoolDigest"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.HC128Engine", "to": "org.bouncycastle.crypto.StreamCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.engines.CAST6Engine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.digests.ShortenedDigest", "to": "org.bouncycastle.crypto.Digest [P]"}, {"arrows": "to", "from": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningPrivateKeyParameters", "to": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningPublicKeyParameters [P]"}, {"arrows": "to", "from": "org.bouncycastle.pqc.legacy.crypto.gmss.GMSSPublicKeyParameters", "to": "org.bouncycastle.pqc.legacy.crypto.gmss.GMSSParameters [P]"}, {"arrows": "to", "from": "java.security.Key [P]", "to": "javax.crypto.spec.DESKeySpec"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.sphincsplus.SPHINCSPlusSigner", "to": "org.bouncycastle.crypto.MessageSigner"}, {"arrows": "to", "from": "org.bouncycastle.crypto.signers.DSASigner", "to": "org.bouncycastle.crypto.DSA"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.picnic.PicnicSigner", "to": "org.bouncycastle.crypto.MessageSigner"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.SM2Engine", "to": "org.bouncycastle.crypto.engines.SM2Engine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.DSAExt [P]", "to": "org.bouncycastle.crypto.signers.DSTU4145Signer"}, {"arrows": "to", "from": "java.security.spec.KeySpec [P]", "to": "java.security.spec.ECPrivateKeySpec"}, {"arrows": "to", "from": "java.security.Key [P]", "to": "javax.crypto.spec.PBEKeySpec"}, {"arrows": "to", "from": "org.bouncycastle.crypto.DSA [P]", "to": "org.bouncycastle.crypto.signers.DSASigner"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.engines.CAST5Engine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.engines.SerpentEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.params.ParametersWithSalt", "to": "org.bouncycastle.crypto.CipherParameters [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.signers.ISO9796d2Signer", "to": "org.bouncycastle.crypto.Digest [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMSIVBlockCipher", "to": "org.bouncycastle.crypto.modes.AEADCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.engines.RC564Engine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.IESEngine", "to": "org.bouncycastle.crypto.Mac [P]"}, {"arrows": "to", "from": "java.security.spec.AlgorithmParameterSpec [P]", "to": "java.security.spec.PSSParameterSpec"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.engines.RC532Engine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.IESEngine", "to": "org.bouncycastle.crypto.BufferedBlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Mac [P]", "to": "org.bouncycastle.crypto.macs.SipHash"}, {"arrows": "to", "from": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUEncryptionParameters [P]", "to": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUEncryptionParameters"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.modes.G3413CBCBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.MessageSigner [P]", "to": "org.bouncycastle.pqc.legacy.crypto.gmss.GMSSStateAwareSigner"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.RijndaelEngine", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningPublicKeyParameters [P]", "to": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningPublicKeyParameters"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.XSalsa20Engine", "to": "org.bouncycastle.crypto.StreamCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.encodings.PKCS1Encoding", "to": "org.bouncycastle.crypto.AsymmetricBlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Mac [P]", "to": "org.bouncycastle.crypto.macs.BlockCipherMac"}, {"arrows": "to", "from": "org.bouncycastle.crypto.signers.DSADigestSigner", "to": "org.bouncycastle.crypto.Signer"}, {"arrows": "to", "from": "javax.crypto.SecretKeyFactory", "to": "javax.crypto.SecretKeyFactory"}, {"arrows": "to", "from": "org.bouncycastle.crypto.signers.X931Signer", "to": "org.bouncycastle.crypto.AsymmetricBlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.engines.NullEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.macs.CBCBlockCipherMac", "to": "org.bouncycastle.crypto.BlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.DerivationFunction [P]", "to": "org.bouncycastle.crypto.generators.KDF1BytesGenerator"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.BlowfishEngine", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.agreement.ECMQVBasicAgreement", "to": "org.bouncycastle.crypto.BasicAgreement"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.DigestingMessageSigner", "to": "org.bouncycastle.crypto.Digest [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.macs.Zuc128Mac", "to": "org.bouncycastle.crypto.Mac"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.AsconDigest"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.DSTU7624Engine", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.RIPEMD256Digest"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.modes.GOFBBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.CipherParameters [P]", "to": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUEncryptionPublicKeyParameters"}, {"arrows": "to", "from": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUEncryptionPrivateKeyParameters", "to": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUEncryptionParameters [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMSIVBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.CAST5Engine", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.macs.Poly1305", "to": "org.bouncycastle.crypto.Mac"}, {"arrows": "to", "from": "org.bouncycastle.crypto.macs.ISO9797Alg3Mac", "to": "org.bouncycastle.crypto.BlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.engines.ARIAEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.IESEngine", "to": "org.bouncycastle.crypto.DerivationFunction [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.modes.CFBBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Mac [P]", "to": "org.bouncycastle.crypto.macs.CFBBlockCipherMac"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.PhotonBeetleDigest"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.engines.AESFastEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.engines.TEAEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.params.CramerShoupPrivateKeyParameters", "to": "org.bouncycastle.crypto.params.CramerShoupParameters [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.modes.KCTRBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BasicAgreement [P]", "to": "org.bouncycastle.crypto.agreement.ECDHCBasicAgreement"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.ThreefishEngine", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.macs.SipHash128", "to": "org.bouncycastle.crypto.Mac"}, {"arrows": "to", "from": "java.security.spec.ECParameterSpec", "to": "java.security.spec.EllipticCurve [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.macs.KGMac", "to": "org.bouncycastle.crypto.Mac"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.MessageSigner [P]", "to": "org.bouncycastle.pqc.legacy.crypto.gmss.GMSSSigner"}, {"arrows": "to", "from": "java.security.spec.ECParameterSpec [P]", "to": "java.security.spec.ECGenParameterSpec"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.GOST3411_2012Digest"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.GOST28147WrapEngine", "to": "org.bouncycastle.crypto.Wrapper"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.Zuc128Engine", "to": "org.bouncycastle.crypto.StreamCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.AESWrapEngine", "to": "org.bouncycastle.crypto.Wrapper"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.engines.RijndaelEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Mac [P]", "to": "org.bouncycastle.crypto.macs.KGMac"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.TigerDigest"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.modes.PGPCFBBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.paddings.BlockCipherPadding [P]", "to": "org.bouncycastle.crypto.paddings.ISO10126d2Padding"}, {"arrows": "to", "from": "org.bouncycastle.crypto.paddings.PaddedBufferedBlockCipher", "to": "org.bouncycastle.crypto.paddings.BlockCipherPadding [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.CFBBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.signers.ISO9796d2PSSSigner", "to": "org.bouncycastle.crypto.Digest [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.engines.TwofishEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.engines.ThreefishEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.ARIAWrapEngine", "to": "org.bouncycastle.crypto.Wrapper"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BufferedBlockCipher [P]", "to": "org.bouncycastle.crypto.BufferedBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.engines.XTEAEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Mac [P]", "to": "org.bouncycastle.crypto.macs.HMac"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Signer", "to": "org.bouncycastle.crypto.CipherParameters [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.LEAEngine", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.Grain128AEADEngine", "to": "org.bouncycastle.crypto.modes.AEADCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.agreement.kdf.ECDHKEKGenerator", "to": "org.bouncycastle.crypto.Digest [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BasicAgreement [P]", "to": "org.bouncycastle.crypto.agreement.ECDHBasicAgreement"}, {"arrows": "to", "from": "org.bouncycastle.crypto.signers.ECNRSigner", "to": "org.bouncycastle.crypto.DSA"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.TwofishEngine", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.macs.KGMac", "to": "org.bouncycastle.crypto.modes.KGCMBlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Mac [P]", "to": "org.bouncycastle.crypto.macs.Poly1305"}, {"arrows": "to", "from": "java.security.spec.ECPrivateKeySpec", "to": "java.security.spec.ECParameterSpec [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.engines.DSTU7624Engine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.PhotonBeetleEngine", "to": "org.bouncycastle.crypto.modes.AEADCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.agreement.ECDHCStagedAgreement", "to": "org.bouncycastle.crypto.BasicAgreement"}, {"arrows": "to", "from": "java.security.Signature", "to": "java.security.spec.AlgorithmParameterSpec [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.macs.KMAC", "to": "org.bouncycastle.crypto.Mac"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.SHA512tDigest"}, {"arrows": "to", "from": "org.bouncycastle.crypto.generators.OpenSSLPBEParametersGenerator", "to": "org.bouncycastle.crypto.Digest [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.ChaCha20Poly1305", "to": "org.bouncycastle.crypto.Mac [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.CipherParameters [P]", "to": "org.bouncycastle.pqc.crypto.saber.SABERKeyParameters"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.engines.SEEDEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.AEADCipher", "to": "org.bouncycastle.crypto.CipherParameters [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.KGCMBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BufferedBlockCipher [P]", "to": "org.bouncycastle.crypto.modes.CTSBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.modes.OFBBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.RC4Engine", "to": "org.bouncycastle.crypto.StreamCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.Blake3Digest"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.VMPCKSA3Engine", "to": "org.bouncycastle.crypto.StreamCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.G3413CFBBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.MessageSigner [P]", "to": "org.bouncycastle.pqc.crypto.lms.HSSSigner"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.PGPCFBBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.kems.RSAKEMGenerator", "to": "org.bouncycastle.crypto.DerivationFunction [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BasicAgreement [P]", "to": "org.bouncycastle.crypto.agreement.ECDHCStagedAgreement"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.CBCBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.engines.AESLightEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.modes.G3413CFBBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.G3413CTRBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.Grainv1Engine", "to": "org.bouncycastle.crypto.StreamCipher"}, {"arrows": "to", "from": "javax.crypto.KeyGenerator", "to": "java.security.spec.AlgorithmParameterSpec [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.engines.RC2Engine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.signers.Ed25519phSigner", "to": "org.bouncycastle.crypto.Signer"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.ShortenedDigest"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.GOST3411_2012_256Digest"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.MessageSigner [P]", "to": "org.bouncycastle.pqc.crypto.xmss.XMSSMTSigner"}, {"arrows": "to", "from": "org.bouncycastle.crypto.CipherParameters [P]", "to": "org.bouncycastle.crypto.params.ParametersWithRandom"}, {"arrows": "to", "from": "org.bouncycastle.crypto.paddings.PaddedBufferedBlockCipher", "to": "org.bouncycastle.crypto.BufferedBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.ParallelHash"}, {"arrows": "to", "from": "org.bouncycastle.crypto.CipherParameters [P]", "to": "org.bouncycastle.pqc.legacy.crypto.gmss.GMSSPrivateKeyParameters"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.SerpentEngine", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.engines.DESedeEngine"}, {"arrows": "to", "from": "org.bouncycastle.pqc.legacy.crypto.gmss.GMSSStateAwareSigner", "to": "org.bouncycastle.crypto.MessageSigner"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.engines.Shacal2Engine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.RFC3394WrapEngine", "to": "org.bouncycastle.crypto.Wrapper"}, {"arrows": "to", "from": "javax.crypto.SecretKeyFactory", "to": "javax.crypto.SecretKey [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.Shacal2Engine", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "javax.net.ssl.SSLServerSocket", "to": "javax.net.ssl.SSLParameters [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.DerivationFunction [P]", "to": "org.bouncycastle.crypto.generators.KDFCounterBytesGenerator"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.modes.G3413OFBBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BasicAgreement [P]", "to": "org.bouncycastle.crypto.agreement.XDHBasicAgreement"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.PGPCFBBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.NaccacheSternEngine", "to": "org.bouncycastle.crypto.AsymmetricBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.G3413CTRBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.engines.CAST6Engine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.signers.DSADigestSigner", "to": "org.bouncycastle.crypto.Digest [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.KCTRBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.CryptoProWrapEngine", "to": "org.bouncycastle.crypto.Wrapper"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.engines.RC6Engine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.KXTSBlockCipher", "to": "org.bouncycastle.crypto.BufferedBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.SparkleEngine", "to": "org.bouncycastle.crypto.modes.AEADCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.macs.DSTU7624Mac", "to": "org.bouncycastle.crypto.Mac"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.engines.IDEAEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Mac [P]", "to": "org.bouncycastle.crypto.macs.GMac"}, {"arrows": "to", "from": "org.bouncycastle.crypto.DerivationFunction [P]", "to": "org.bouncycastle.crypto.agreement.kdf.DHKEKGenerator"}, {"arrows": "to", "from": "org.bouncycastle.crypto.CipherParameters [P]", "to": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningPublicKeyParameters"}, {"arrows": "to", "from": "org.bouncycastle.crypto.generators.KDFCounterBytesGenerator", "to": "org.bouncycastle.crypto.Mac [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.CipherParameters [P]", "to": "org.bouncycastle.pqc.crypto.saber.SABERParameters"}, {"arrows": "to", "from": "org.bouncycastle.crypto.signers.GOST3410Signer", "to": "org.bouncycastle.crypto.DSA"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.NullEngine", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BasicAgreement [P]", "to": "org.bouncycastle.crypto.agreement.ECMQVBasicAgreement"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BufferedBlockCipher [P]", "to": "org.bouncycastle.crypto.modes.NISTCTSBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.SM3Digest"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.VMPCEngine", "to": "org.bouncycastle.crypto.StreamCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.macs.OldHMac", "to": "org.bouncycastle.crypto.Digest [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.AsymmetricBlockCipher [P]", "to": "org.bouncycastle.crypto.engines.ElGamalEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.TupleHash"}, {"arrows": "to", "from": "org.bouncycastle.crypto.signers.ECDSASigner", "to": "org.bouncycastle.crypto.DSA"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.StateAwareMessageSigner [P]", "to": "org.bouncycastle.pqc.crypto.xmss.XMSSSigner"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.KCTRBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.RFC5649WrapEngine", "to": "org.bouncycastle.crypto.BlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Wrapper", "to": "org.bouncycastle.crypto.CipherParameters [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.KGCMBlockCipher [P]", "to": "org.bouncycastle.crypto.modes.KGCMBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.DerivationFunction [P]", "to": "org.bouncycastle.crypto.agreement.kdf.ECDHKEKGenerator"}, {"arrows": "to", "from": "org.bouncycastle.crypto.DSA [P]", "to": "org.bouncycastle.crypto.signers.ECDSASigner"}, {"arrows": "to", "from": "org.bouncycastle.crypto.DSA", "to": "org.bouncycastle.crypto.CipherParameters [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.SHA384Digest"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.SICBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.modes.G3413CBCBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.ChaChaEngine", "to": "org.bouncycastle.crypto.StreamCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.ARIAEngine", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.engines.NoekeonEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.CipherParameters [P]", "to": "org.bouncycastle.crypto.params.CramerShoupPrivateKeyParameters"}, {"arrows": "to", "from": "java.security.spec.KeySpec [P]", "to": "javax.crypto.spec.DESKeySpec"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Mac [P]", "to": "org.bouncycastle.crypto.macs.Zuc128Mac"}, {"arrows": "to", "from": "java.security.KeyFactory", "to": "java.security.KeyFactory"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.HarakaBase"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.MessageSigner [P]", "to": "org.bouncycastle.pqc.crypto.sphincsplus.SPHINCSPlusSigner"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.engines.GOST3412_2015Engine"}, {"arrows": "to", "from": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningPublicKeyParameters", "to": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningParameters [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.engines.AESEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.Blake2bpDigest"}, {"arrows": "to", "from": "java.security.spec.KeySpec [P]", "to": "javax.crypto.spec.PBEKeySpec"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.modes.GOFBBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.params.ParametersWithUKM", "to": "org.bouncycastle.crypto.CipherParameters [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.RIPEMD128Digest"}, {"arrows": "to", "from": "org.bouncycastle.crypto.generators.PKCS5S1ParametersGenerator", "to": "org.bouncycastle.crypto.Digest [P]"}, {"arrows": "to", "from": "org.bouncycastle.pqc.legacy.crypto.qtesla.QTESLASigner", "to": "org.bouncycastle.crypto.MessageSigner"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.NoekeonEngine", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.params.ParametersWithID", "to": "org.bouncycastle.crypto.CipherParameters [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.signers.GenericSigner", "to": "org.bouncycastle.crypto.AsymmetricBlockCipher [P]"}, {"arrows": "to", "from": "java.security.spec.AlgorithmParameterSpec [P]", "to": "java.security.spec.MGF1ParameterSpec"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.Zuc256Engine", "to": "org.bouncycastle.crypto.StreamCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.DSA [P]", "to": "org.bouncycastle.crypto.signers.ECNRSigner"}, {"arrows": "to", "from": "org.bouncycastle.crypto.CipherParameters [P]", "to": "org.bouncycastle.pqc.crypto.saber.SABERPublicKeyParameters"}, {"arrows": "to", "from": "org.bouncycastle.crypto.DerivationFunction [P]", "to": "org.bouncycastle.crypto.agreement.kdf.ConcatenationKDFGenerator"}, {"arrows": "to", "from": "org.bouncycastle.crypto.signers.SM2Signer", "to": "org.bouncycastle.crypto.Digest [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.NonMemoableDigest"}, {"arrows": "to", "from": "org.bouncycastle.crypto.CipherParameters [P]", "to": "org.bouncycastle.crypto.params.ParametersWithUKM"}, {"arrows": "to", "from": "org.bouncycastle.crypto.DerivationFunction [P]", "to": "org.bouncycastle.crypto.generators.KDF2BytesGenerator"}, {"arrows": "to", "from": "org.bouncycastle.crypto.signers.Ed25519ctxSigner", "to": "org.bouncycastle.crypto.Signer"}, {"arrows": "to", "from": "org.bouncycastle.crypto.macs.CFBBlockCipherMac", "to": "org.bouncycastle.crypto.paddings.BlockCipherPadding [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.Haraka512Digest"}, {"arrows": "to", "from": "java.security.Key [P]", "to": "java.security.spec.DSAPrivateKeySpec"}, {"arrows": "to", "from": "org.bouncycastle.crypto.agreement.kdf.ConcatenationKDFGenerator", "to": "org.bouncycastle.crypto.Digest [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.CamelliaEngine", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.signers.PSSSigner", "to": "org.bouncycastle.crypto.AsymmetricBlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.NISTCTSBlockCipher", "to": "org.bouncycastle.crypto.BufferedBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.OldCTSBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.DerivationFunction [P]", "to": "org.bouncycastle.jce.provider.BrokenKDF2BytesGenerator"}, {"arrows": "to", "from": "java.security.spec.AlgorithmParameterSpec [P]", "to": "java.security.spec.ECGenParameterSpec"}, {"arrows": "to", "from": "java.security.spec.AlgorithmParameterSpec [P]", "to": "javax.crypto.spec.DHParameterSpec"}, {"arrows": "to", "from": "org.bouncycastle.crypto.agreement.kdf.DHKEKGenerator", "to": "org.bouncycastle.crypto.Digest [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.DSAExt [P]", "to": "org.bouncycastle.crypto.signers.ECGOST3410_2012Signer"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.RC564Engine", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.agreement.XDHBasicAgreement", "to": "org.bouncycastle.crypto.BasicAgreement"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.engines.TwofishEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.engines.ThreefishEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.signers.Ed448Signer", "to": "org.bouncycastle.crypto.Signer"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.NTRUEngine", "to": "org.bouncycastle.crypto.AsymmetricBlockCipher"}, {"arrows": "to", "from": "javax.crypto.Cipher", "to": "java.security.Key [P]"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.saber.SABERPublicKeyParameters", "to": "org.bouncycastle.pqc.crypto.saber.SABERParameters [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.ARIAWrapPadEngine", "to": "org.bouncycastle.crypto.Wrapper"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.IsapEngine", "to": "org.bouncycastle.crypto.modes.AEADCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BufferedAsymmetricBlockCipher", "to": "org.bouncycastle.crypto.BufferedAsymmetricBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.pqc.legacy.crypto.gmss.GMSSPublicKeyParameters [P]", "to": "org.bouncycastle.pqc.legacy.crypto.gmss.GMSSPublicKeyParameters"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BufferedBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.AsymmetricBlockCipher", "to": "org.bouncycastle.crypto.CipherParameters [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.KeccakDigest"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.MD2Digest"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.engines.CamelliaLightEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.macs.KMAC"}, {"arrows": "to", "from": "javax.crypto.Cipher", "to": "javax.crypto.Cipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.modes.G3413CTRBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.DigestingMessageSigner", "to": "org.bouncycastle.pqc.crypto.MessageSigner [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.engines.DSTU7624Engine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.DSAExt [P]", "to": "org.bouncycastle.crypto.signers.DSASigner"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Mac [P]", "to": "org.bouncycastle.crypto.macs.SkeinMac"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.RIPEMD320Digest"}, {"arrows": "to", "from": "org.bouncycastle.pqc.legacy.crypto.gmss.GMSSKeyParameters", "to": "org.bouncycastle.pqc.legacy.crypto.gmss.GMSSParameters [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.paddings.BlockCipherPadding [P]", "to": "org.bouncycastle.crypto.paddings.X923Padding"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Mac [P]", "to": "org.bouncycastle.crypto.macs.KMAC"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.modes.SICBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.encodings.OAEPEncoding", "to": "org.bouncycastle.crypto.AsymmetricBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.signers.ISO9796d2Signer", "to": "org.bouncycastle.crypto.AsymmetricBlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.Blake2spDigest"}, {"arrows": "to", "from": "org.bouncycastle.crypto.CipherParameters [P]", "to": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUEncryptionPrivateKeyParameters"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.saber.SABERKeyParameters", "to": "org.bouncycastle.pqc.crypto.saber.SABERParameters [P]"}, {"arrows": "to", "from": "java.security.AlgorithmParameterGenerator", "to": "java.security.AlgorithmParameterGenerator"}, {"arrows": "to", "from": "org.bouncycastle.crypto.CipherParameters [P]", "to": "org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningPrivateKeyParameters"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.OpenPGPCFBBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.DerivationFunction [P]", "to": "org.bouncycastle.crypto.generators.KDFDoublePipelineIterationBytesGenerator"}, {"arrows": "to", "from": "org.bouncycastle.crypto.paddings.PaddedBufferedBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.modes.G3413CFBBlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.engines.RC2Engine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Digest [P]", "to": "org.bouncycastle.crypto.digests.XoodyakDigest"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.sphincs.SPHINCS256Signer", "to": "org.bouncycastle.crypto.MessageSigner"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.GCMModeCipher [P]", "to": "org.bouncycastle.crypto.engines.CamelliaEngine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.macs.CFBBlockCipherMac", "to": "org.bouncycastle.crypto.Mac"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BasicAgreement [P]", "to": "org.bouncycastle.crypto.agreement.DHBasicAgreement"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.TEAEngine", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.generators.PKCS12ParametersGenerator", "to": "org.bouncycastle.crypto.Digest [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.Salsa20Engine", "to": "org.bouncycastle.crypto.StreamCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.macs.CMac", "to": "org.bouncycastle.crypto.BlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.KXTSBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.DefaultBufferedBlockCipher", "to": "org.bouncycastle.crypto.BufferedBlockCipher"}, {"arrows": "to", "from": "java.security.Key [P]", "to": "javax.crypto.spec.DHPrivateKeySpec"}, {"arrows": "to", "from": "org.bouncycastle.crypto.paddings.BlockCipherPadding [P]", "to": "org.bouncycastle.crypto.paddings.TBCPadding"}, {"arrows": "to", "from": "org.bouncycastle.crypto.Mac [P]", "to": "org.bouncycastle.crypto.macs.CBCBlockCipherMac"}, {"arrows": "to", "from": "org.bouncycastle.pqc.crypto.gemss.GeMSSSigner", "to": "org.bouncycastle.crypto.MessageSigner"}, {"arrows": "to", "from": "org.bouncycastle.crypto.engines.GOST3412_2015Engine", "to": "org.bouncycastle.crypto.BlockCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.CTSBlockCipher", "to": "org.bouncycastle.crypto.BlockCipher [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.DSAExt [P]", "to": "org.bouncycastle.crypto.signers.ECGOST3410Signer"}, {"arrows": "to", "from": "org.bouncycastle.crypto.macs.CBCBlockCipherMac", "to": "org.bouncycastle.crypto.paddings.BlockCipherPadding [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.signers.DSADigestSigner", "to": "org.bouncycastle.crypto.DSAExt [P]"}, {"arrows": "to", "from": "org.bouncycastle.crypto.AsymmetricBlockCipher [P]", "to": "org.bouncycastle.crypto.encodings.PKCS1Encoding"}, {"arrows": "to", "from": "org.bouncycastle.crypto.modes.KGCMBlockCipher", "to": "org.bouncycastle.crypto.modes.AEADCipher"}, {"arrows": "to", "from": "org.bouncycastle.crypto.CipherParameters [P]", "to": "org.bouncycastle.pqc.legacy.crypto.gmss.GMSSPublicKeyParameters"}, {"arrows": "to", "from": "org.bouncycastle.crypto.BlockCipher [P]", "to": "org.bouncycastle.crypto.engines.GOST28147Engine"}, {"arrows": "to", "from": "org.bouncycastle.crypto.params.AEADParameters", "to": "org.bouncycastle.crypto.params.KeyParameter [P]"}]);
nodeColors = {};
allNodes = nodes.get({ returnType: "Object" });
for (nodeId in allNodes) {
nodeColors[nodeId] = allNodes[nodeId].color;
}
allEdges = edges.get({ returnType: "Object" });
// adding nodes and edges to the graph
data = {nodes: nodes, edges: edges};
var options = {
"configure": {
"enabled": true,
"filter": [
"physics"
]
},
"edges": {
"color": {
"inherit": true
},
"smooth": {
"enabled": true,
"type": "dynamic"
}
},
"interaction": {
"dragNodes": true,
"hideEdgesOnDrag": false,
"hideNodesOnDrag": false
},
"physics": {
"enabled": true,
"forceAtlas2Based": {
"avoidOverlap": 0,
"centralGravity": 0.01,
"damping": 0.4,
"gravitationalConstant": -50,
"springConstant": 0.08,
"springLength": 100
},
"solver": "forceAtlas2Based",
"stabilization": {
"enabled": true,
"fit": true,
"iterations": 1000,
"onlyDynamicEdges": false,
"updateInterval": 50
}
}
};
// if this network requires displaying the configure window,
// put it in its div
options.configure["container"] = document.getElementById("config");
network = new vis.Network(container, data, options);
network.on("stabilizationProgress", function(params) {
document.getElementById('loadingBar').removeAttribute("style");
var maxWidth = 496;
var minWidth = 20;
var widthFactor = params.iterations/params.total;
var width = Math.max(minWidth,maxWidth * widthFactor);
document.getElementById('bar').style.width = width + 'px';
document.getElementById('text').innerHTML = Math.round(widthFactor*100) + '%';
});
network.once("stabilizationIterationsDone", function() {
document.getElementById('text').innerHTML = '100%';
document.getElementById('bar').style.width = '496px';
document.getElementById('loadingBar').style.opacity = 0;
// really clean the dom element
setTimeout(function () {document.getElementById('loadingBar').style.display = 'none';}, 500);
});
return network;
}
drawGraph();
</script>
</body>
</html>